OSDev http://osdev.su/ |
|
Адресация памяти (иная?) http://osdev.su/viewtopic.php?f=5&t=1014 |
Страница 6 из 6 |
Автор: | dixie [ 19 дек 2014, 15:41 ] |
Заголовок сообщения: | Re: Адресация памяти (иная?) |
Himik писал(а): dixie, я в своей ОС попробовал сделать для видеопамяти режим WC по примеру QS. Настройка MTRR не дала ни какого эффекта, зато настройка MSR_PAT сработала. А там точно нигде пересечений адресов не получилось в MTRR?Если есть пересечение с UC - он и будет Цитата: Но у тебя работает с помощью MTRR - значит страничный режим не используешь? Ага, по умолчанию без страниц, PAE включается отдельной командой/вызовом API, прозрачно для всей "системы"...Но MTRR у меня больше для загружаемой OS/2 - чтобы в её таблицы страниц не лазить. |
Автор: | Himik [ 21 дек 2014, 12:57 ] |
Заголовок сообщения: | Re: Адресация памяти (иная?) |
Есть пересечение только с WB, который на весь диапазон памяти - это мешает? И у меня всё время включен страничный режим, а в страничном режиме мне кажется PAT приоритетней MTRR, поэтому я не уверен что MTRR вообще нужен. |
Автор: | dixie [ 22 дек 2014, 01:31 ] |
Заголовок сообщения: | Re: Адресация памяти (иная?) |
Himik писал(а): Есть пересечение только с WB, который на весь диапазон памяти - это мешает? Однозначно. В доке написано, что поведение в этом случае "undefined", но на практике там получается похоже на UC.Цитата: И у меня всё время включен страничный режим, а в страничном режиме мне кажется PAT приоритетней MTRR, поэтому я не уверен что MTRR вообще нужен. Ну, в пределах одной системы - да, PAT намного проще.У меня чуть другая ситуация - загрузчик чужого ядра, у меня свой PM/страницы, у него свои Т.е. после загрузки ядра я выхожу в RM и запускаю его, а оно уже ставит свой режим. |
Автор: | Himik [ 22 дек 2014, 12:42 ] |
Заголовок сообщения: | Re: Адресация памяти (иная?) |
Но ведь почти все системы работают в страничном режиме, значит везде действует PAT. Что приоритетней - MTRR или PAT? Если в PAT - WB или UC, а в MTRR - WC, то что? Какой командой в твоём загрузчике включить страничный режим, чтобы проверить? Я в своей системе уже удалил настройку MTRR, поэтому сам проверить не могу. Вопрос чисто теоретический - согласно теме |
Автор: | dixie [ 23 дек 2014, 01:46 ] |
Заголовок сообщения: | Re: Адресация памяти (иная?) |
У меня PAT не используется - поэтому страничный режим не поможет Хотя - если из моей загрузить чужой бутсектор или MBR (из Disk Management), то MTRR останется и у себя можно попробовать комбинацию. Приоритет PAT/MTRR точно описан в доке у интела - в разделе про кэш. Поскольку нормальные архитекторы у интела к моменту добавления PAT уже вымерли - там имеет место загадочное комбинирование того и другого с целью угадать - чо именно имели в виду разработчики биоса и ос. Ну т.е. - UC и WC в MTRR имеют приоритет над PAT, WB - наоборот, а WT - только частично Варианты поведения, в принципе, логичны, но, в целом, этот парный механизм выглядит довольно криво. |
Страница 6 из 6 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |