From 8b93059eccedc528443c06eb86c58bd320dca203 Mon Sep 17 00:00:00 2001 From: "Ronald G. Minnich" Date: Tue, 5 Jun 2012 14:41:27 -0700 Subject: Pass the CPU index as a parameter to startup. This addition is in support of future multicore support in coreboot. It also will allow us to remove some asssembly code. The CPU "index" -- i.e., its order in the sequence in which cores are brought up, NOT its APIC id -- is passed into the secondary start. We modify the function to specify regparm(0). We also take this opportunity to do some cleanup: indexes become unsigned ints, not unsigned longs, for example. Build and boot on a multicore system, with pcserial enabled. Capture the output. Observe that the messages Initializing CPU #0 Initializing CPU #1 Initializing CPU #2 Initializing CPU #3 appear exactly as they do prior to this change. Change-Id: I5854d8d957c414f75fdd63fb017d2249330f955d Signed-off-by: Ronald G. Minnich Reviewed-on: http://review.coreboot.org/1820 Reviewed-by: Stefan Reinauer Tested-by: build bot (Jenkins) --- src/include/cpu/cpu.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/include/cpu/cpu.h') diff --git a/src/include/cpu/cpu.h b/src/include/cpu/cpu.h index a9369fbf76..e8ea096a6c 100644 --- a/src/include/cpu/cpu.h +++ b/src/include/cpu/cpu.h @@ -4,10 +4,10 @@ #include #if !defined(__ROMCC__) -void cpu_initialize(void); +void cpu_initialize(unsigned int cpu_index); struct bus; void initialize_cpus(struct bus *cpu_bus); -void __attribute__((regparm(0))) secondary_cpu_init(void); +void __attribute__((regparm(0))) secondary_cpu_init(unsigned int cpu_index); #if CONFIG_HAVE_SMI_HANDLER void smm_init(void); -- cgit v1.2.3