OSDev

для всех
Текущее время: 13 дек 2018, 22:56

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 55 ]  На страницу Пред.  1, 2, 3, 4, 5, 6
Автор Сообщение
 Заголовок сообщения: Re: Адресация памяти (иная?)
СообщениеДобавлено: 19 дек 2014, 15:41 

Зарегистрирован: 10 окт 2013, 14:54
Сообщения: 80
Himik писал(а):
dixie, я в своей ОС попробовал сделать для видеопамяти режим WC по примеру QS. Настройка MTRR не дала ни какого эффекта, зато настройка MSR_PAT сработала.
А там точно нигде пересечений адресов не получилось в MTRR?
Если есть пересечение с UC - он и будет ;)
Цитата:
Но у тебя работает с помощью MTRR - значит страничный режим не используешь?
Ага, по умолчанию без страниц, PAE включается отдельной командой/вызовом API, прозрачно для всей "системы"...
Но MTRR у меня больше для загружаемой OS/2 - чтобы в её таблицы страниц не лазить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адресация памяти (иная?)
СообщениеДобавлено: 21 дек 2014, 12:57 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1070
Откуда: Балаково
Есть пересечение только с WB, который на весь диапазон памяти - это мешает? И у меня всё время включен страничный режим, а в страничном режиме мне кажется PAT приоритетней MTRR, поэтому я не уверен что MTRR вообще нужен.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адресация памяти (иная?)
СообщениеДобавлено: 22 дек 2014, 01:31 

Зарегистрирован: 10 окт 2013, 14:54
Сообщения: 80
Himik писал(а):
Есть пересечение только с WB, который на весь диапазон памяти - это мешает?
Однозначно. В доке написано, что поведение в этом случае "undefined", но на практике там получается похоже на UC.
Цитата:
И у меня всё время включен страничный режим, а в страничном режиме мне кажется PAT приоритетней MTRR, поэтому я не уверен что MTRR вообще нужен.
Ну, в пределах одной системы - да, PAT намного проще.
У меня чуть другая ситуация - загрузчик чужого ядра, у меня свой PM/страницы, у него свои ;) Т.е. после загрузки ядра я выхожу в RM и запускаю его, а оно уже ставит свой режим.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адресация памяти (иная?)
СообщениеДобавлено: 22 дек 2014, 12:42 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1070
Откуда: Балаково
Но ведь почти все системы работают в страничном режиме, значит везде действует PAT. Что приоритетней - MTRR или PAT? Если в PAT - WB или UC, а в MTRR - WC, то что? Какой командой в твоём загрузчике включить страничный режим, чтобы проверить?
Я в своей системе уже удалил настройку MTRR, поэтому сам проверить не могу. Вопрос чисто теоретический - согласно теме :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адресация памяти (иная?)
СообщениеДобавлено: 23 дек 2014, 01:46 

Зарегистрирован: 10 окт 2013, 14:54
Сообщения: 80
У меня PAT не используется - поэтому страничный режим не поможет ;)
Хотя - если из моей загрузить чужой бутсектор или MBR (из Disk Management), то MTRR останется и у себя можно попробовать комбинацию.

Приоритет PAT/MTRR точно описан в доке у интела - в разделе про кэш. Поскольку нормальные архитекторы у интела к моменту добавления PAT уже вымерли ;) - там имеет место загадочное комбинирование того и другого с целью угадать - чо именно имели в виду разработчики биоса и ос.

Ну т.е. - UC и WC в MTRR имеют приоритет над PAT, WB - наоборот, а WT - только частично ;) Варианты поведения, в принципе, логичны, но, в целом, этот парный механизм выглядит довольно криво.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 55 ]  На страницу Пред.  1, 2, 3, 4, 5, 6

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB