多处理器管理

为了访问 LAPIC 寄存器,段必须能够到达从 APIC Base 开始的地址范围 (在 IA32_APIC_BASE 中 )。
该地址是可重定位的,理论上可以设置为指向较低存储器中的某个位置,从而使该范围在实模式下可寻址。

然而,LAPIC 范围的读/写周期不会传播到总线接口单元,从而屏蔽对后面地址的任何访问。

假设读者熟悉虚幻模式 ,因为它将在某些示例中使用。

还必须精通:

  • 处理逻辑物理地址之间的差异 1
  • 实模式分割。
  • 内存别名,可以为同一物理地址使用不同的逻辑地址 **
  • 绝对的,相对的,远的,接近的呼叫和跳跃。
  • NASM 汇编程序 ,特别是 ORG 指令是全局的。将代码拆分成多个文件大大简化了编码,因为可以为不同的部分提供不同的 ORG

最后,我们假设 CPU 具有本地高级可编程中断控制器LAPIC )。
如果从上下文中含糊不清,APIC 总是意味着 LAPIC(e 不是 IOAPIC,或者通常是 xAPIC)。

参考文献:

位字段
杂散中断向量寄存器
中断命令寄存器
本地 APIC ID 寄存器
IA32\_APIC\_BASE
MSR 名称 地址
IA32_APIC_BASE 1BH

1 如果将使用分页,虚拟地址也会起作用。