0bbc882680
- 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 |
||
---|---|---|
.. | ||
pc | ||
_inttypes.h | ||
apicreg.h | ||
asm.h | ||
asmacros.h | ||
atomic.h | ||
bus_amd64.h | ||
bus_at386.h | ||
bus_dma.h | ||
bus_memio.h | ||
bus_pio.h | ||
bus.h | ||
clock.h | ||
cpu.h | ||
cpufunc.h | ||
cputypes.h | ||
db_machdep.h | ||
elf.h | ||
exec.h | ||
float.h | ||
floatingpoint.h | ||
fpu.h | ||
frame.h | ||
ieeefp.h | ||
in_cksum.h | ||
legacyvar.h | ||
md_var.h | ||
mptable.h | ||
mutex.h | ||
npx.h | ||
pcb_ext.h | ||
pcb.h | ||
pci_cfgreg.h | ||
pcpu.h | ||
pmap.h | ||
proc.h | ||
profile.h | ||
psl.h | ||
ptrace.h | ||
reg.h | ||
reloc.h | ||
resource.h | ||
segments.h | ||
setjmp.h | ||
sigframe.h | ||
signal.h | ||
smp.h | ||
specialreg.h | ||
sysarch.h | ||
trap.h | ||
tss.h | ||
ucontext.h | ||
varargs.h | ||
vmparam.h |