X86_64
X86_64架构的处理器是目前最广泛使用的处理器
Long_Mode
x86到x86_64的开关.
Long_Mode将通用寄存器扩展到64位(RAX RP RSP...)
向CPU增加了8个 整数寄存器 (R8..R15)
新增了8个SSE寄存器 (XMM8..XMM15).
线性地址扩展至64位
物理地址扩展至52位
分段机制
Long_Mode的分段机制通常采用平坦模-型,但 FS GS寄存器例外
FS.base
C000_0100h, GS.baseC000_0101h这两个MSR(模型特定寄存器) 可以为这两个段寄存器设置基地址
Long_Mode引入了一条特有指令 SWAPGS 用于交换 GS.base 与 KernelGSBase C000_0102h的MSR寄存器内容. 在跨上下文切换时 对于保留特定逻辑处理器核心的内核信息很重要
ACPI
ACPI(Advanced Configuration and Power Interface)是现代 PC 描述硬件的一套标准。
内核启动以后需要知道:
CPU 有多少个
APIC 在哪里
NUMA 信息
PCI 中断
电源管理
这些信息都放在 ACPI Table 里面。
而所有 ACPI Table 的入口是 RSDP
在ACPI规范中 RSDP放在 0xE0000 ~ 0xFFFFF
PVH
PVH 是 Xen 提出的一种启动协议。
它最大的特点就是:
Hypervisor 直接把启动信息告诉内核。
避免了去扫RSDP