Operating system 关于页面属性表(PAT)的问题

Operating system 关于页面属性表(PAT)的问题,operating-system,kernel,paging,Operating System,Kernel,Paging,我正在尝试编写一个内核,一些内存需要是不可缓存的 我阅读了PAT的英特尔文档,了解以下内容: 1.有一个“IA32_PAT MSR”寄存器容纳8个插槽,如下所示: 每个较低的3位包含一个数字,可以表示以下缓存类型: 通过操纵每个分页表上的PAT、PWD、PCD位,我可以选择要使用的插槽并决定缓存类型 对于任何指向页面结构(分页表)的结构(包括CR3),它只使用PWD、PCD来选择缓存类型。其中只能选择“IA32_PAT MSR”中的前4个条目。此外,它只影响指向的页面结构的缓存(例如CR3指

我正在尝试编写一个内核,一些内存需要是不可缓存的

我阅读了PAT的英特尔文档,了解以下内容:

1.有一个“IA32_PAT MSR”寄存器容纳8个插槽,如下所示:

  • 每个较低的3位包含一个数字,可以表示以下缓存类型:
  • 通过操纵每个分页表上的PAT、PWD、PCD位,我可以选择要使用的插槽并决定缓存类型

  • 对于任何指向页面结构(分页表)的结构(包括CR3),它只使用PWD、PCD来选择缓存类型。其中只能选择“IA32_PAT MSR”中的前4个条目。此外,它只影响指向的页面结构的缓存(例如CR3指向PML4E表,它只确定PML4E表的缓存类型)

  • 对于指向物理页面的任何结构,它使用PAT、PWD、PCD选择“IA32_PAT MSR”中的所有8个条目


  • 因此,我想问:

  • 如果预览没有问题

  • 我是否需要启用它,或者如果支持,它将自动启用

  • 非常感谢