# 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.base** `C000_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`