Вопросы о таблице атрибутов страницы (PAT) - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь написать ядро, и часть памяти должна быть не кешируемой.

Я читаю документ Intel для PAT и понимаю следующее:

1.There регистр "IA32_PAT MSR", содержащий 8 слотов, например:

enter image description here

Каждый из младших 3 битов содержит цифру, которая может представлять следующий тип кэширования:

enter image description here

Управляя битами PAT, PWD, PCD в каждой таблице подкачки, я могу выбрать желаемый слот и выбрать тип кэширования.

Для любой структуры включая CR3, указывающий на структуру страницы (таблицу подкачки), он использует только PWD, PCD для выбора типа кэширования. В котором могут быть выбраны только первые 4 записи в «IA32_PAT MSR». Кроме того, он влияет только на кэширование структуры страницы, на которую он указал (например, точка CR3 на таблицу PML4E, он определяет только тип кэширования таблицы PML4E)

Для любой структуры что, указывая на физическую страницу, он использует PAT, PWD, PCD, чтобы выбрать все 8 записей в «IA32_PAT MSR»


Поэтому я хотел бы спросить:

  1. Если с предварительным просмотром все в порядке

  2. Нужно ли включать его или оно автоматически включается, если поддерживается.

Большое спасибо!

...