aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2005-11-16 20:55:57 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2005-11-16 20:55:57 +0000
commitfdb9ce371607ff8699e9b7e100e7628424f4ee4b (patch)
treeb3327a11348cb07e46b9258a8c7f00ad40d68269 /sys
parentb60119eb02db8b6f7b1aba0fb7b8222d6ce9f9aa (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/amd64/amd64/apic_vector.S5
-rw-r--r--sys/i386/i386/apic_vector.s5
2 files changed, 4 insertions, 6 deletions
diff --git a/sys/amd64/amd64/apic_vector.S b/sys/amd64/amd64/apic_vector.S
index 2e7e445348d3d..5d7685b1d6a06 100644
--- a/sys/amd64/amd64/apic_vector.S
+++ b/sys/amd64/amd64/apic_vector.S
@@ -297,11 +297,10 @@ IDTVEC(cpustop)
test %eax, %eax
jnz 2f
- xorq %rax, %rax
- lock
- xchgq cpustop_restartfunc, %rax
+ movq cpustop_restartfunc, %rax
testq %rax, %rax
jz 2f
+ movq $0, cpustop_restartfunc /* One-shot */
call *%rax
2:
diff --git a/sys/i386/i386/apic_vector.s b/sys/i386/i386/apic_vector.s
index e8f6f9d738876..99b765f1519c8 100644
--- a/sys/i386/i386/apic_vector.s
+++ b/sys/i386/i386/apic_vector.s
@@ -340,11 +340,10 @@ IDTVEC(cpustop)
test %eax, %eax
jnz 2f
- xorl %eax, %eax
- lock
- xchgl CNAME(cpustop_restartfunc), %eax
+ movl CNAME(cpustop_restartfunc), %eax
test %eax, %eax
jz 2f
+ movl $0, CNAME(cpustop_restartfunc) /* One-shot */
call *%eax
2: