Я пытаюсь написать ядро, и часть памяти должна быть не кешируемой.
Я читаю документ Intel для PAT и понимаю следующее:
1.There регистр "IA32_PAT MSR", содержащий 8 слотов, например:
Каждый из младших 3 битов содержит цифру, которая может представлять следующий тип кэширования:
Управляя битами PAT, PWD, PCD в каждой таблице подкачки, я могу выбрать желаемый слот и выбрать тип кэширования.
Для любой структуры включая CR3, указывающий на структуру страницы (таблицу подкачки), он использует только PWD, PCD для выбора типа кэширования. В котором могут быть выбраны только первые 4 записи в «IA32_PAT MSR». Кроме того, он влияет только на кэширование структуры страницы, на которую он указал (например, точка CR3 на таблицу PML4E, он определяет только тип кэширования таблицы PML4E)
Для любой структуры что, указывая на физическую страницу, он использует PAT, PWD, PCD, чтобы выбрать все 8 записей в «IA32_PAT MSR»
Поэтому я хотел бы спросить:
Если с предварительным просмотром все в порядке
Нужно ли включать его или оно автоматически включается, если поддерживается.
Большое спасибо!