На современной MSR топологии PAT реализовать гораздо легче, и занимает почти в 2 раза меньше строк кода, чем на устаревшой MTRR топологии, выбор изначально нерационален и бессмысленен, вы не во временах 95 винды ядро пишете
Что вы несете? MSR слоты для caching mode'а появились еще в 3 пентиуме в 1999 году, а ваш ноут явно не времен 90'ых, вы это оправдываете как "временный костыль, гарантированно завести на моем стареньком ноуте", какие боже распаенные PIC, PIT контроллеры в ноуте 2010 года... Они были во временах 8086-80386 позже внедрены в кристал. APIC/MSIX на Легаси? Что?
Непонятно только зачем вы используете устаревшие MTRR для WC burst mode'а и так ограниченные до 8 регистров в ядре со страничной адресацией, это времена когда на пейдж атрибуты выделяли 2 бита а не 3 без extended'а, caching mode можно настраивать через слоты в MSR регистре IA32_CR_PAT (0x277), и так и топологически вернее: MTRR для физ адресов / физ адресов но поверх виртуальных, а MSR сугубо для виртуальных, топология virt on phy.
Вспоминается еще UC- для обработной совместимости.
На современной MSR топологии PAT реализовать гораздо легче, и занимает почти в 2 раза меньше строк кода, чем на устаревшой MTRR топологии, выбор изначально нерационален и бессмысленен, вы не во временах 95 винды ядро пишете
Что вы несете? MSR слоты для caching mode'а появились еще в 3 пентиуме в 1999 году, а ваш ноут явно не времен 90'ых, вы это оправдываете как "временный костыль, гарантированно завести на моем стареньком ноуте", какие боже распаенные PIC, PIT контроллеры в ноуте 2010 года... Они были во временах 8086-80386 позже внедрены в кристал. APIC/MSIX на Легаси? Что?
Непонятно только зачем вы используете устаревшие MTRR для WC burst mode'а и так ограниченные до 8 регистров в ядре со страничной адресацией, это времена когда на пейдж атрибуты выделяли 2 бита а не 3 без extended'а, caching mode можно настраивать через слоты в MSR регистре IA32_CR_PAT (0x277), и так и топологически вернее: MTRR для физ адресов / физ адресов но поверх виртуальных, а MSR сугубо для виртуальных, топология virt on phy.
Вспоминается еще UC- для обработной совместимости.