OSDev

для всех
Текущее время: 09 май 2024, 16:49

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




Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Баги
СообщениеДобавлено: 16 авг 2013, 13:16 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Bargest писал(а):
В очередной раз потестил ОСь в QEMU, все ок. Потестил на вмваре - не пашет. Нашел мегабаг в куему.
Оказалось, я случайно указал в PDE таблице (т.е. в пейдж директории) виртуальный адрес таблицы страниц (для страниц, на которые отображено ядро). И оно работало в QEMU! Как - для меня загадка.

Есть предположение. Ведь в физической адресации используется только 36 младших бит (64Г), поэтому после обрезания старших бит от 480Г получился адрес совпадающий с физическим. По спецификации, старшие биты должны содержать нули, но QEMU их не проверяет, а просто отбрасывает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баги
СообщениеДобавлено: 16 авг 2013, 13:45 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Если память не изменяет (я с IA-32 уже несколько лет дел не имею), по спецификации старшие биты физического адреса, которые не реализованы аппаратно, должны совпадать со старшим из реализованных битов. Если используется только 36 младших разрядов, то при бите 35, равном нулю, биты 63-36 должны быть тоже равны нулю, а если бит 35 равен единице, то и 63-36 должны быть единицами. Но могу и ошибаться, так что лучше по документации проверить, а потом протестировать реакцию эмуляторов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баги
СообщениеДобавлено: 16 авг 2013, 15:19 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Не, путаешь с виртуальным каноническим адресом.


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

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


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

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


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

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