OSDev

для всех
Текущее время: 02 май 2024, 01:50

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




Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: SMP, переназначение прерываний
СообщениеДобавлено: 19 мар 2012, 21:25 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
Хм, а его гуя по-прежнему пишет, что там 1 МБ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SMP, переназначение прерываний
СообщениеДобавлено: 19 мар 2012, 21:29 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Настройки Bochs GUI я ни разу не использовал, только текстовый конфигурационный файл и командную строку.
По-моему там GUI недоделанное.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SMP, переназначение прерываний
СообщениеДобавлено: 19 мар 2012, 21:49 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
В версии по ссылке нет поддержки SMP. А версия 2.5 с поддержкой SMP не поддерживает х64 (или же на ней только написано, что она 2.5). Увы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SMP, переназначение прерываний
СообщениеДобавлено: 20 мар 2012, 04:58 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Есть там поддержка SMP. Для этого на сайте в разделе Files есть файл bochs-p4-smp-2.5.1-win32.zip
который надо распаковать поверх установленного Bochs, и потом запускать bochs-p4-smp.exe
64-х битный код тоже должен работать, даже в 32-битной версии.


Последний раз редактировалось Himik 20 мар 2012, 17:07, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SMP, переназначение прерываний
СообщениеДобавлено: 20 мар 2012, 06:18 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
В апике есть регистры для работы с температурой, у меня проблема в том, что когда гружусь на ноутбуке вентилятор не снижает скорость и когда в своей оси ковыряюсь он постоянно гудит сильно, возможно апик как-то поможет его успокоить.


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

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Станислав писал(а):
В апике есть регистры для работы с температурой

Может быть не в APIC, а в ACPI?


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

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
У каждого локального контроллера есть своя собственная векторная таблица. В локальной векторной таблице (LVT, local vector table) задаются векторы для каждого прерывания и тип доставки. Таблица состоит из шести регистров, все они 32- битные. Перечислим эти регистры (в скобках указаны смещения от базового адреса Local APIC):
# LVT Timer Register (+320h) - содержит информацию для обработки прерываний APIC Timer;
# LVT Thermal Monitor Register (+330h) - содержит информацию для обработки прерываний температурного датчика;
# LVT Performance Counter Register (+340h) - содержит информацию для обработки прерываний датчика производительности;
# LVT LINTO Register (+350h) и LVT LINT1 Register (+360h) - содержат информацию для обработки прерываний из входов LINT0 и LINT1;
# LVT Error Register (+370h) - содержит информацию для обработки прерывания, возникающего в случае, когда контроллер обнаруживает внутреннюю ошибку.
Источники прерываний LINT0 и LINT1 могут быть присоединены к внешним источникам, а именно через I/O АР 1C к внешним устройствам


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SMP, переназначение прерываний
СообщениеДобавлено: 20 мар 2012, 18:15 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
Станислав, если ты про
Цитата:
# LVT Thermal Monitor Register (+330h) - содержит информацию для обработки прерываний температурного датчика;

то оно не поможет понизить обороты кулера. Насколько я знаю, это прерывание, возникающее при перегреве. А вот регулирование оборотов - это уже к ACPI.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SMP, переназначение прерываний
СообщениеДобавлено: 20 мар 2012, 19:48 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
Ну скорее всего так, про это пока ещё не читал. Пытаюсь пример из книжки перенести на загрузчик(где включают апик и настраивают прерывания таймера и клавы).
Из обработчика легче стали выходить

mov dword [APIC_EOI_REG_DEF], 0 ;EOI
iretd


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SMP, переназначение прерываний
СообщениеДобавлено: 21 мар 2012, 15:57 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
Himik, видимо личка не проходит почему-то, придется флудить здесь.:)
Скачал BOCHS 2.5.1 с поддержкой SMP. Long-Mode выключен. Раскомменчиваю в конфиге строчку "cpuid: x86_64=1" - обычный 2.5.1 воспринимает нормально, а SMPшный говорит, что конфиг испорчен (malformed) на этой строчке.

И еще вопрос:
Как быстрее получить Local APIC ID, через CPUID или считав из памяти по адресу Local APIC'?


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

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


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

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


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

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