【发布时间】:2019-01-28 17:17:18
【问题描述】:
英特尔手册说本地 APIC 寄存器是内存映射到 4KB 区域,默认地址为 FEE00000H。可以使用 IA32_APIC_BASE MSR 修改此地址。
引用 SDM Vol 3,第 10.4.5 节
Pentium 4、Intel Xeon 和 P6 系列处理器允许 通过修改 24 位基地址字段中的值,将 APIC 寄存器的起始地址从 FEE00000H 重定位到另一个物理地址 IA32_APIC_BASE MSR。提供 APIC 架构的此扩展以帮助解决与内存的冲突 现有系统的映射,并允许 MP 系统中的各个处理器将其 APIC 寄存器映射到物理内存中的不同位置。
是否有可能同时在同一台机器上的不同 CPU 可以有不同的本地 APIC 基地址?比如说,CPU 0 决定停留在 FEE00000H,但 CPU1 移动到 FEF00000H
如果上述情况属实,PCI MSI 中断如何工作?如果不同的 CPU 可以有不同的本地 APIC 地址,那么 MSI 消息地址对于不同的 CPU 意味着不同。
【问题讨论】: