diff options
author | Philip Guenthe <guenther@cvs.openbsd.org> | 2010-12-04 05:20:19 +0000 |
---|---|---|
committer | Philip Guenthe <guenther@cvs.openbsd.org> | 2010-12-04 05:20:19 +0000 |
commit | 32b2572a9ea809b4e72f64fd5b0b0b5578d36425 (patch) | |
tree | f8c557eb414c77033fb88025da3772bc3b3b44f7 /sys/arch | |
parent | 8320d01a0d6804cb6d2d0d798fcfbe499dd231c0 (diff) |
The pm_cpus member of the pmap is now a 64bit integer: update the assembly
used in cpu_switch() for handling it. Also, delete an unnecessary
instruction that I added while debugging the pm_cpus handling before
ok kettenis@
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/amd64/amd64/locore.S | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/arch/amd64/amd64/locore.S b/sys/arch/amd64/amd64/locore.S index 556b51a35a9..f7016f9b4d3 100644 --- a/sys/arch/amd64/amd64/locore.S +++ b/sys/arch/amd64/amd64/locore.S @@ -1,4 +1,4 @@ -/* $OpenBSD: locore.S,v 1.43 2010/11/13 04:16:42 guenther Exp $ */ +/* $OpenBSD: locore.S,v 1.44 2010/12/04 05:20:18 guenther Exp $ */ /* $NetBSD: locore.S,v 1.13 2004/03/25 18:33:17 drochner Exp $ */ /* @@ -762,7 +762,7 @@ ENTRY(cpu_switchto) /* clear the old pmap's bit for the cpu */ movq PCB_PMAP(%r13),%rcx lock - btrl %edi,PM_CPUS(%rcx) + btrq %rdi,PM_CPUS(%rcx) /* Save stack pointers. */ movq %rsp,PCB_RSP(%r13) @@ -800,9 +800,8 @@ switch_exited: /* set the new pmap's bit for the cpu */ movl CPUVAR(CPUID),%edi movq PCB_PMAP(%r13),%rcx - movl PM_CPUS(%rcx),%eax lock - btsl %edi,PM_CPUS(%rcx) + btsq %rdi,PM_CPUS(%rcx) #ifdef DIAGNOSTIC jc _C_LABEL(switch_pmcpu_set) #endif |