summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2006-08-15 12:45:51 +0000
committerdavidxu <davidxu@FreeBSD.org>2006-08-15 12:45:51 +0000
commitaf0d7761878ebc7a64b3510fbd11cfd88c98514c (patch)
tree41b50841c6339b45539650aad2df92ab0a8a5f8a /sys/amd64
parentfd333609bf001068b61637d0d231f5de752ca40a (diff)
downloadFreeBSD-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.S2
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
OpenPOWER on IntegriCloud