diff options
author | jkim <jkim@FreeBSD.org> | 2009-11-04 22:39:18 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2009-11-04 22:39:18 +0000 |
commit | 65deb8f266c67ac665711050a2b17ef119abc2ec (patch) | |
tree | 35112cbb05b091a4ea1acd4d099002aba9eee811 /sys/amd64/amd64/mp_machdep.c | |
parent | 0dbcd15dd26eb43a9b3db65d34d0fc403db741a9 (diff) | |
download | FreeBSD-src-65deb8f266c67ac665711050a2b17ef119abc2ec.zip FreeBSD-src-65deb8f266c67ac665711050a2b17ef119abc2ec.tar.gz |
Tweak memory allocation for amd64 suspend/resume CPU context.
Diffstat (limited to 'sys/amd64/amd64/mp_machdep.c')
-rw-r--r-- | sys/amd64/amd64/mp_machdep.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c index 0ef8017..f5b1351 100644 --- a/sys/amd64/amd64/mp_machdep.c +++ b/sys/amd64/amd64/mp_machdep.c @@ -105,7 +105,7 @@ extern pt_entry_t *KPTphys; extern pt_entry_t *SMPpt; struct pcb stoppcbs[MAXCPU]; -struct xpcb *stopxpcbs = NULL; +struct xpcb **stopxpcbs = NULL; /* Variables needed for SMP tlb shootdown. */ vm_offset_t smp_tlb_addr1; @@ -1256,8 +1256,8 @@ cpususpend_handler(void) rf = intr_disable(); cr3 = rcr3(); - stopfpu = &stopxpcbs[cpu].xpcb_pcb.pcb_save; - if (savectx2(&stopxpcbs[cpu])) { + stopfpu = &stopxpcbs[cpu]->xpcb_pcb.pcb_save; + if (savectx2(stopxpcbs[cpu])) { fpugetregs(curthread, stopfpu); wbinvd(); atomic_set_int(&stopped_cpus, cpumask); |