ash*_*ish 4 operating-system intel bios
我现在正在尝试了解启动过程以及处理器如何初始化。我已阅读了多处理器规范部分B.4.2但我不明白什么INIT IPI
和STARTUP IPI
做的BSP
和AP
。
一般来说; INIT IPI
就像(逻辑)CPU 的软复位,使其进入“等待 SIPI 状态”。Intel 手册中有一个表格,显示了上电后、复位后和 后各种寄存器的默认值INIT IPI
。
这Startup IPI
是一种告诉 CPU 在Startup IPI
可以设置可用 IDT 之前在某个地址(从 的“向量字段”派生的地址)开始执行的方法。这也会使 CPU 脱离“等待 SIPI 状态”。一些(大多数)CPUStartup IPI
在它们不处于“等待 SIPI 状态”时会响应 a ,但是如果没有之前的状态,INIT IPI
您就不能指望 CPU 处于已知/安全状态。
到所有CPU响应INIT IPI
和Startup IPI
一致。BSP 和 AP 之间的主要区别在于开机期间(BSP 在 AP CPU 等待时执行固件)。