clean up and add some flexbility to mapping of APIC IDs and core IDs
authorAndrew Baumann <andrew.baumann@microsoft.com>
Wed, 11 Jan 2012 17:10:45 +0000 (09:10 -0800)
committerAndrew Baumann <andrew.baumann@microsoft.com>
Wed, 11 Jan 2012 17:10:45 +0000 (09:10 -0800)
commit38f02e716e93771cfab9de7800ca69afd7bb3137
tree33e483b66f7d385f79f042343605ab5f9aa53327
parent4779a1600a1a3e40eb7e904a3ac01e8ac4e5aa04
clean up and add some flexbility to mapping of APIC IDs and core IDs

 * introduced kernel boot parameter to control the core ID for the BSP
   (on x86, where it was always zero)
 * introduced spawnd parameter to allow all core IDs to start from an offset
   (I'm using this for boot on MIC)
 * added monitor API to query the local core's APIC ID (some drivers might need it)
 * fixed some kernel paths that were needlessly reading the APIC ID out of the
   APIC all the time
13 files changed:
if/monitor_blocking.if
kernel/arch/x86/apic.c
kernel/arch/x86/misc.c
kernel/arch/x86/startup_x86.c
kernel/arch/x86_32/init.c
kernel/arch/x86_32/syscall.c
kernel/arch/x86_64/init.c
kernel/arch/x86_64/syscall.c
kernel/include/arch/x86/apic.h
kernel/include/kernel.h
usr/monitor/monitor_rpc_server.c
usr/monitor/spawn.c
usr/spawnd/bsp_bootup.c