YhLu YhLu@tyan.com writes:
Eric,
I have some questions about the APIC. How can I change the Second Opteron's APIC_ID? DO I need to make the second CPU run and its process access (APIC_DEFAULT_BASE+APIC_ID) and set (1<<24) to it.
You need to know the apic id before you can start code on the second cpu. I recall seeing how how this is set in the BIOS programmers guide. Look under unit id.
Then When should start the process in auto.c or hardwaremain.c ( startup_other_cpus function)? I have tried to add one branch in auto.c and seems the second cpu start only from crt0.base. and it try copy LinBIOS and Jump
You definitely want to use the code in startup_other_cpus. There is no good reason to run to multiple cpus in auto.c
Eric