OSDev

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

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




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

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
В очередной раз потестил ОСь в QEMU, все ок. Потестил на вмваре - не пашет. Нашел мегабаг в куему.
Оказалось, я случайно указал в PDE таблице (т.е. в пейдж директории) виртуальный адрес таблицы страниц (для страниц, на которые отображено ядро). И оно работало в QEMU! Как - для меня загадка.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баги
СообщениеДобавлено: 20 фев 2012, 12:32 

Зарегистрирован: 04 май 2011, 18:13
Сообщения: 121
та это ж не мелочи, а основа основ, как тукое может быть, чтобы PDE работал.
Может банально упущен флаг разрешения страничной памяти???


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баги
СообщениеДобавлено: 20 фев 2012, 17:37 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
В том-то и дело, что это основы основ. И что страничное преобразование используется (в Long-Mode иначе не бывает).
Я при формировании PDE процесса случайно вписал в адрес таблицы 480+ ГБ (видимо думал о чем-то левом, когда писал это:)). Это был виртуальный адрес таблицы страниц ядра (в памяти, куда отображено ядро). И в куему оно работало. В вмваре, разумеется, нет: слетало при переключении процесса сразу после
Код:
mov rax, cr3
mov cr3, rax

с тройной ошибкой (естественно, IDT же тоже накрылась).
Но КАК работает куему - я не втыкаю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баги
СообщениеДобавлено: 17 апр 2012, 14:32 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
Кто-нибудь пробовал запускать в куему более 56 ядер процессора? У меня ОС слетает начиная с 57 ядер в ней, и я всё думаю: это баг оси или куему? В оси вроде как все норм, код один и тот же, разница в теории может начаться после 64 ядер. Но 57... Причем инициализация проходит, а потом феил.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баги
СообщениеДобавлено: 09 май 2012, 01:28 
Аватара пользователя

Зарегистрирован: 06 мар 2012, 20:05
Сообщения: 130
Откуда: Санкт-Петербург
В тему о багах: http://habrahabr.ru/qa/19171/
На тему QEMU я не удивлён, но VirtualBox меня огорчил.

_________________
We are back with a hard even better than before [D-Block & S-Te-Fan – Evolutionz {Ran-D remix}]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баги
СообщениеДобавлено: 09 май 2012, 21:56 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 283
Движок VirtualBox делали на основе кодовой базы QEMU, отсюда и общие баги. А такое наплевательское отношение к реализации понятно: делают же не чтобы соответствовало спекам, а чтобы мейнстримные оси работали. А ни одна из них аппаратную многозадачность не использует.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баги
СообщениеДобавлено: 10 май 2012, 08:24 
Аватара пользователя

Зарегистрирован: 06 мар 2012, 20:05
Сообщения: 130
Откуда: Санкт-Петербург
grindars писал(а):
Движок VirtualBox делали на основе кодовой базы QEMU, отсюда и общие баги
Могли бы пофиксить, не? Это же Oracle. Легенда, разработчик Solaris, Java, MySQL, VirtualBox... А если в каждом из них сейчас по куче таких багов, на которые забили, ибо "мейнстримовый софт не жалуется"?
grindars писал(а):
а чтобы мейнстримные оси работали
Вот и меня спросили...
michaln писал(а):
OK... please provide a testcase, or even better, point to some commercial operating system which uses this technique.

_________________
We are back with a hard even better than before [D-Block & S-Te-Fan – Evolutionz {Ran-D remix}]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баги
СообщениеДобавлено: 10 май 2012, 09:21 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 283
Да не Oracle это. Изначально VirtualBox написала Innotek, которую купили Sun, а санки уже купила Oracle. Разработчики там те же самые, и Oracle на VirtualBox в общем-то пофиг: даже близко не основной источник прибыли.

Встречался я с багами в нем, и получал тот же ответ. Типа, не хотят они тратить время на поддержку фич проца, которые никому, кроме осеписателей-маньяков не нужны.

Не могли бы вы подробно описать, как именно у вас используются TSS? Вероятно, смогу подсказать совместимое решение.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баги
СообщениеДобавлено: 10 май 2012, 09:40 
Аватара пользователя

Зарегистрирован: 06 мар 2012, 20:05
Сообщения: 130
Откуда: Санкт-Петербург
grindars писал(а):
Не могли бы вы подробно описать, как именно у вас используются TSS? Вероятно, смогу подсказать совместимое решение.
Да решение то я уже нашёл, собственно, в ответе к багу я приложил и код оси с "commented fix for VBox", и код, приводящий к сбою.

И, если уж купили - отвечайте. Поддерживайте статус топовой компании, не давайте разработчикам пинать половые органы...

_________________
We are back with a hard even better than before [D-Block & S-Te-Fan – Evolutionz {Ran-D remix}]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баги
СообщениеДобавлено: 10 май 2012, 10:11 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 283
Понял, как вы делаете. Я в первоначальном варианте использовал пару TSS с копированием контекста из них в контекст потока, затем перешел на программную переключалку. Т.е. если у нас две TSS (T1 и T2) и три потока, то переключение происходило так: T1(A) -> T2(B) -> T1(C) -> T2(A) -> .... Суть в том, чтобы никогда не сбрасывать флаг busy вручную.


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

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


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

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


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

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