diff options
author | davidxu <davidxu@FreeBSD.org> | 2006-08-15 12:45:51 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2006-08-15 12:45:51 +0000 |
commit | af0d7761878ebc7a64b3510fbd11cfd88c98514c (patch) | |
tree | 41b50841c6339b45539650aad2df92ab0a8a5f8a /sys/amd64 | |
parent | fd333609bf001068b61637d0d231f5de752ca40a (diff) | |
download | FreeBSD-src-af0d7761878ebc7a64b3510fbd11cfd88c98514c.zip FreeBSD-src-af0d7761878ebc7a64b3510fbd11cfd88c98514c.tar.gz |
Because fuword on AMD64 returns 64bit long integer -1 on fault, clear
entire %rax to zero instead of only clearing %eax, otherwise it will
leave garbage data in upper 32 bits.
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/amd64/support.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/amd64/amd64/support.S b/sys/amd64/amd64/support.S index ea547f9..f24733b 100644 --- a/sys/amd64/amd64/support.S +++ b/sys/amd64/amd64/support.S @@ -412,7 +412,7 @@ ENTRY(fubyte) ALIGN_TEXT fusufault: movq PCPU(CURPCB),%rcx - xorl %eax,%eax + xorq %rax,%rax movq %rax,PCB_ONFAULT(%rcx) decq %rax ret |