mirror of
https://github.com/opnsense/src.git
synced 2026-06-10 09:11:07 -04:00
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.
This commit is contained in:
parent
13d56a9a90
commit
5d5ca6d75e
1 changed files with 6 additions and 12 deletions
|
|
@ -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
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue