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>