启动第二个处理器通常非常痛苦,因为它涉及很多ACPI的东西.这意味着,它不仅仅在处理器中,您还必须对其他硬件进行编程.
基本上,其他cpu通过ACPI初始化,并在包含trampoline代码的某个预定义地址空间开始执行.从那时起,他们正在等待安排.
但是如果你想编写自己的smp东西,你当然可以指示第二个cpu立即为你执行一些代码.
如果你想要一些示例代码,你可以查看linux内核代码:
http://lxr.linux.no/#linux+v2.6.33/arch/x86/kernel/smpboot.c