summaryrefslogtreecommitdiff
path: root/sys/arch/i386/include/cpu.h
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2009-06-03 00:49:13 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2009-06-03 00:49:13 +0000
commitfc396422d336b06362f208dc4078d4c0afac08c7 (patch)
treec07357c2e40857e0051b22202f0e00f935e614b6 /sys/arch/i386/include/cpu.h
parent5beca94c70db90e3d23e246dd5e9a1807168b10e (diff)
Just like on amd64. Instead of keeping a bitmap of which cpus a pmap
is active on, save a curpmap pointer in cpu_info. This lets us simplify a few things and do lazy context switching from a user process to a kernel thread. There's a new IPI introduced for forcing a cr3 reload when we're tearing down a dead pmap. kettenis@ ok (after I polished a few minor things)
Diffstat (limited to 'sys/arch/i386/include/cpu.h')
-rw-r--r--sys/arch/i386/include/cpu.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/arch/i386/include/cpu.h b/sys/arch/i386/include/cpu.h
index c9115640e46..1380944ca1c 100644
--- a/sys/arch/i386/include/cpu.h
+++ b/sys/arch/i386/include/cpu.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: cpu.h,v 1.107 2009/02/16 15:44:25 jsg Exp $ */
+/* $OpenBSD: cpu.h,v 1.108 2009/06/03 00:49:12 art Exp $ */
/* $NetBSD: cpu.h,v 1.35 1996/05/05 19:29:26 christos Exp $ */
/*-
@@ -94,11 +94,10 @@ struct cpu_info {
struct proc *ci_fpcurproc; /* current owner of the FPU */
int ci_fpsaving; /* save in progress */
- volatile u_int32_t ci_tlb_ipi_mask;
-
struct pcb *ci_curpcb; /* VA of current HW PCB */
struct pcb *ci_idle_pcb; /* VA of current PCB */
int ci_idle_tss_sel; /* TSS selector of idle PCB */
+ struct pmap *ci_curpmap;
struct intrsource *ci_isources[MAX_INTR_SOURCES];
u_int32_t ci_ipending;