summaryrefslogtreecommitdiffstats
path: root/sys/amd64/amd64/mp_machdep.c
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2009-11-04 22:39:18 +0000
committerjkim <jkim@FreeBSD.org>2009-11-04 22:39:18 +0000
commit65deb8f266c67ac665711050a2b17ef119abc2ec (patch)
tree35112cbb05b091a4ea1acd4d099002aba9eee811 /sys/amd64/amd64/mp_machdep.c
parent0dbcd15dd26eb43a9b3db65d34d0fc403db741a9 (diff)
downloadFreeBSD-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.c6
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);
OpenPOWER on IntegriCloud