diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 2009-06-03 00:49:13 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 2009-06-03 00:49:13 +0000 |
commit | fc396422d336b06362f208dc4078d4c0afac08c7 (patch) | |
tree | c07357c2e40857e0051b22202f0e00f935e614b6 /sys/arch/i386/include/cpu.h | |
parent | 5beca94c70db90e3d23e246dd5e9a1807168b10e (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.h | 5 |
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; |