Date: Tue, 11 Dec 2001 15:33:44 -0800 (PST) From: John Baldwin <jhb@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/alpha/alpha db_interface.c exception.s genassym.c interrupt.c locore.s machdep.c mp_machdep.c support.s swtch.s trap.c src/sys/alpha/include asm.h globaldata.h globals.h mutex.h pcb.h pcpu.h proc.h src/sys/i386/i386 bios.c ... Message-ID: <200112112333.fBBNXim25833@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2001/12/11 15:33:44 PST
Modified files:
sys/alpha/alpha db_interface.c exception.s genassym.c
interrupt.c locore.s machdep.c
mp_machdep.c support.s swtch.s trap.c
sys/alpha/include asm.h mutex.h pcb.h pcpu.h proc.h
sys/i386/i386 bios.c db_interface.c genassym.c
machdep.c mp_machdep.c mpapic.c pmap.c
support.s swtch.s vm86bios.s vm_machdep.c
sys/i386/include asmacros.h cpu.h pcpu.h privatespace.h
proc.h
sys/i386/isa npx.c
sys/ia64/ia64 db_interface.c exception.s genassym.c
machdep.c mp_machdep.c support.s swtch.s
sys/ia64/include mutex.h pcpu.h proc.h
sys/kern init_main.c kern_idle.c kern_ktr.c
subr_pcpu.c subr_smp.c
sys/pc98/i386 machdep.c
sys/powerpc/include cpufunc.h mutex.h pcpu.h proc.h
sys/powerpc/powerpc genassym.c locore.s machdep.c swtch.s
sys/sparc64/include asmacros.h pcpu.h proc.h
sys/sparc64/sparc64 db_interface.c exception.s genassym.c
intr_machdep.c machdep.c
sys/sys mutex.h pcpu.h proc.h
Removed files:
sys/alpha/include globaldata.h globals.h
sys/i386/include globaldata.h globals.h
sys/ia64/include globaldata.h globals.h
sys/powerpc/include globaldata.h globals.h
sys/sparc64/include globaldata.h globals.h
Log:
Overhaul the per-CPU support a bit:
- The MI portions of struct globaldata have been consolidated into a MI
struct pcpu. The MD per-CPU data are specified via a macro defined in
machine/pcpu.h. A macro was chosen over a struct mdpcpu so that the
interface would be cleaner (PCPU_GET(my_md_field) vs.
PCPU_GET(md.md_my_md_field)).
- All references to globaldata are changed to pcpu instead. In a UP kernel,
this data was stored as global variables which is where the original name
came from. In an SMP world this data is per-CPU and ideally private to each
CPU outside of the context of debuggers. This also included combining
machine/globaldata.h and machine/globals.h into machine/pcpu.h.
- The pointer to the thread using the FPU on i386 was renamed from
npxthread to fpcurthread to be identical with other architectures.
- Make the show pcpu ddb command MI with a MD callout to display MD
fields.
- The globaldata_register() function was renamed to pcpu_init() and now
init's MI fields of a struct pcpu in addition to registering it with
the internal array and list.
- A pcpu_destroy() function was added to remove a struct pcpu from the
internal array and list.
Tested on: alpha, i386
Reviewed by: peter, jake
Revision Changes Path
1.23 +5 -47 src/sys/alpha/alpha/db_interface.c
1.14 +4 -4 src/sys/alpha/alpha/exception.s
1.34 +6 -7 src/sys/alpha/alpha/genassym.c
1.58 +2 -2 src/sys/alpha/alpha/interrupt.c
1.20 +7 -7 src/sys/alpha/alpha/locore.s
1.154 +12 -21 src/sys/alpha/alpha/machdep.c
1.29 +24 -21 src/sys/alpha/alpha/mp_machdep.c
1.9 +15 -15 src/sys/alpha/alpha/support.s
1.31 +4 -4 src/sys/alpha/alpha/swtch.s
1.80 +2 -2 src/sys/alpha/alpha/trap.c
1.12 +2 -2 src/sys/alpha/include/asm.h
1.14 +0 -74 src/sys/alpha/include/globaldata.h (dead)
1.11 +0 -51 src/sys/alpha/include/globals.h (dead)
1.26 +2 -2 src/sys/alpha/include/mutex.h
1.7 +1 -2 src/sys/alpha/include/pcb.h
1.14 +18 -40 src/sys/alpha/include/pcpu.h
1.13 +1 -4 src/sys/alpha/include/proc.h
1.45 +1 -1 src/sys/i386/i386/bios.c
1.62 +4 -43 src/sys/i386/i386/db_interface.c
1.118 +13 -26 src/sys/i386/i386/genassym.c
1.485 +15 -14 src/sys/i386/i386/machdep.c
1.167 +7 -9 src/sys/i386/i386/mp_machdep.c
1.50 +1 -2 src/sys/i386/i386/mpapic.c
1.299 +0 -1 src/sys/i386/i386/pmap.c
1.86 +16 -16 src/sys/i386/i386/support.s
1.125 +5 -5 src/sys/i386/i386/swtch.s
1.28 +2 -2 src/sys/i386/i386/vm86bios.s
1.177 +1 -1 src/sys/i386/i386/vm_machdep.c
1.23 +4 -4 src/sys/i386/include/asmacros.h
1.65 +1 -2 src/sys/i386/include/cpu.h
1.32 +0 -79 src/sys/i386/include/globaldata.h (dead)
1.20 +0 -141 src/sys/i386/include/globals.h (dead)
1.32 +104 -36 src/sys/i386/include/pcpu.h
1.3 +3 -3 src/sys/i386/include/privatespace.h
1.14 +0 -1 src/sys/i386/include/proc.h
1.120 +17 -17 src/sys/i386/isa/npx.c
1.14 +5 -0 src/sys/ia64/ia64/db_interface.c
1.29 +1 -1 src/sys/ia64/ia64/exception.s
1.22 +5 -5 src/sys/ia64/ia64/genassym.c
1.71 +8 -15 src/sys/ia64/ia64/machdep.c
1.26 +0 -1 src/sys/ia64/ia64/mp_machdep.c
1.11 +9 -9 src/sys/ia64/ia64/support.s
1.14 +3 -3 src/sys/ia64/ia64/swtch.s
1.13 +0 -73 src/sys/ia64/include/globaldata.h (dead)
1.10 +0 -51 src/sys/ia64/include/globals.h (dead)
1.15 +2 -2 src/sys/ia64/include/mutex.h
1.13 +17 -39 src/sys/ia64/include/pcpu.h
1.8 +0 -3 src/sys/ia64/include/proc.h
1.179 +0 -1 src/sys/kern/init_main.c
1.20 +7 -7 src/sys/kern/kern_idle.c
1.24 +1 -1 src/sys/kern/kern_ktr.c
1.3 +79 -11 src/sys/kern/subr_pcpu.c
1.161 +5 -5 src/sys/kern/subr_smp.c
1.249 +8 -9 src/sys/pc98/i386/machdep.c
1.5 +4 -4 src/sys/powerpc/include/cpufunc.h
1.18 +0 -72 src/sys/powerpc/include/globaldata.h (dead)
1.14 +0 -50 src/sys/powerpc/include/globals.h (dead)
1.27 +2 -2 src/sys/powerpc/include/mutex.h
1.18 +14 -37 src/sys/powerpc/include/pcpu.h
1.5 +0 -2 src/sys/powerpc/include/proc.h
1.39 +3 -3 src/sys/powerpc/powerpc/genassym.c
1.6 +6 -6 src/sys/powerpc/powerpc/locore.s
1.17 +9 -15 src/sys/powerpc/powerpc/machdep.c
1.8 +4 -4 src/sys/powerpc/powerpc/swtch.s
1.6 +2 -2 src/sys/sparc64/include/asmacros.h
1.12 +0 -78 src/sys/sparc64/include/globaldata.h (dead)
1.6 +0 -51 src/sys/sparc64/include/globals.h (dead)
1.12 +18 -34 src/sys/sparc64/include/pcpu.h
1.7 +1 -2 src/sys/sparc64/include/proc.h
1.7 +5 -0 src/sys/sparc64/sparc64/db_interface.c
1.13 +2 -2 src/sys/sparc64/sparc64/exception.s
1.13 +3 -4 src/sys/sparc64/sparc64/genassym.c
1.6 +0 -1 src/sys/sparc64/sparc64/intr_machdep.c
1.24 +14 -11 src/sys/sparc64/sparc64/machdep.c
1.46 +1 -1 src/sys/sys/mutex.h
1.2 +47 -4 src/sys/sys/pcpu.h
1.194 +2 -0 src/sys/sys/proc.h
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200112112333.fBBNXim25833>
