OSDev

для всех
Текущее время: 28 апр 2024, 07:41

Часовой пояс: 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 часа


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

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


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

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