aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2003-05-14 03:38:13 +0000
committerPeter Wemm <peter@FreeBSD.org>2003-05-14 03:38:13 +0000
commit5d5ca6d75e2f83055e723d2269dc0ca9934dfa88 (patch)
tree9fe7b4b58d77a22f0248156ec710fb0105b57e06
parent13d56a9a90882ab6d09e1e9846fe79dca28c039c (diff)
downloadsrc-5d5ca6d75e2f83055e723d2269dc0ca9934dfa88.tar.gz
src-5d5ca6d75e2f83055e723d2269dc0ca9934dfa88.zip
Fix some misunderstandings about 64 bit extension.
Fix fuword/suword - they're supposed to be 'long' - ie: point them at fuword64/suword64 instead of the incorrect 32 bit versions.
Notes
Notes: svn path=/head/; revision=114986
-rw-r--r--sys/amd64/amd64/support.S18
1 files changed, 6 insertions, 12 deletions
diff --git a/sys/amd64/amd64/support.S b/sys/amd64/amd64/support.S
index 94b5229daa8e..2f1f34664ffb 100644
--- a/sys/amd64/amd64/support.S
+++ b/sys/amd64/amd64/support.S
@@ -358,6 +358,9 @@ ENTRY(fuword64)
movq $0,PCB_ONFAULT(%rcx)
ret
+ENTRY(fuword)
+ jmp fuword64
+
ENTRY(fuword32)
movq PCPU(CURPCB),%rcx
movq $fusufault,PCB_ONFAULT(%rcx)
@@ -366,15 +369,10 @@ ENTRY(fuword32)
cmpq %rax,%rdi /* verify address is valid */
ja fusufault
-/* XXX use the 64 extend */
- xorq %rax, %rax
movl (%rdi),%eax
movq $0,PCB_ONFAULT(%rcx)
ret
-ENTRY(fuword)
- jmp fuword32
-
/*
* These two routines are called from the profiling code, potentially
* at interrupt time. If they fail, that's okay, good things will
@@ -397,8 +395,6 @@ ENTRY(fuword16)
cmpq %rax,%rdi
ja fusufault
-/* XXX use the 64 extend */
- xorq %rax, %rax
movzwl (%rdi),%eax
movq $0,PCB_ONFAULT(%rcx)
ret
@@ -414,8 +410,6 @@ ENTRY(fubyte)
cmpq %rax,%rdi
ja fusufault
-/* XXX use the 64 extend */
- xorq %rax, %rax
movzbl (%rdi),%eax
movq $0,PCB_ONFAULT(%rcx)
ret
@@ -448,6 +442,9 @@ ENTRY(suword64)
movq %rax,PCB_ONFAULT(%rcx)
ret
+ENTRY(suword)
+ jmp suword64
+
ENTRY(suword32)
movq PCPU(CURPCB),%rcx
movq $fusufault,PCB_ONFAULT(%rcx)
@@ -462,9 +459,6 @@ ENTRY(suword32)
movq %rax,PCB_ONFAULT(%rcx)
ret
-ENTRY(suword)
- jmp suword32
-
/*
* suword16 - MP SAFE
*/