diff options
author | jhb <jhb@FreeBSD.org> | 2005-11-16 20:55:57 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2005-11-16 20:55:57 +0000 |
commit | d1aa5c1d31557f48633a4327c926afe90aa4e956 (patch) | |
tree | b3327a11348cb07e46b9258a8c7f00ad40d68269 | |
parent | 83cd89c7416e23a69a6c321be43a678f2567ba90 (diff) | |
download | FreeBSD-src-d1aa5c1d31557f48633a4327c926afe90aa4e956.zip FreeBSD-src-d1aa5c1d31557f48633a4327c926afe90aa4e956.tar.gz |
Revert previous commit to these files. There isn't a race necessitating
an xchg instruction as we only try to execute the startup function if
the CPU ID is 0 (i.e. the BSP). I missed this earlier.
-rw-r--r-- | sys/amd64/amd64/apic_vector.S | 5 | ||||
-rw-r--r-- | sys/i386/i386/apic_vector.s | 5 |
2 files changed, 4 insertions, 6 deletions
diff --git a/sys/amd64/amd64/apic_vector.S b/sys/amd64/amd64/apic_vector.S index 2e7e445..5d7685b 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 e8f6f9d..99b765f 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: |