long mode

CreateTime 2023-10-15
UpdateTime 2024-02-28

今天研究了一下 long mode,x86 64 位模式,然后进入了 long mode;

假设处理器支持所有需要的功能,那么与 32 位不同之处在于:

  • 需要 置位 CR4 控制寄存器的 PAE(Physical Address Extension) 标志位,开启物理地址扩展功能;
  • 置位 IA32_EFER 寄存器的 LME 标志位,启用 IA-32e 模式;
  • 启用分页机制,分页机制与 32 位有所不同;(此时处于兼容模式);
  • 使用 jmp 指令,进入 long mode;