OSDev
http://osdev.su/

SMP, переназначение прерываний
http://osdev.su/viewtopic.php?f=7&t=510
Страница 3 из 3

Автор:  Himik [ 21 мар 2012, 18:51 ]
Заголовок сообщения:  Re: SMP, переназначение прерываний

Bargest писал(а):
Скачал BOCHS 2.5.1 с поддержкой SMP. Long-Mode выключен.

Я сам 64-битный режим не использую, и не пробовал. Ну раз не работает, значит не работает.
Bargest писал(а):
Как быстрее получить Local APIC ID, через CPUID или считав из памяти по адресу Local APIC'?

Точно не знаю. Мне кажется, прочитать из памяти проще, и наверно быстрей. В реальности читается не из памяти, как ты понимаешь.

PS. ЛС пришло, только проверять забываю. Пиши на форуме, форум всё стерпит :-)

Автор:  Станислав [ 01 апр 2012, 07:38 ]
Заголовок сообщения:  Re: SMP, переназначение прерываний

Я перевёл пример из книжки на загрузчик немного упростил и добавил ыключение мышки ps2, но прерывание 12 не срабатывает теперь после включения АПИК. И клава стала глючить.
Вложение:
2.rar [3.25 КБ]
Скачиваний: 410

Автор:  418ImATeapot [ 02 апр 2012, 10:14 ]
Заголовок сообщения:  Re: SMP, переназначение прерываний

У меня близкий по теме вопрос
1)APIC Global Enable flag, bit 11 ⎯ Enables or disables the local APIC (see
Section 10.4.3, “Enabling or Disabling the Local APIC”). This flag is available in
the Pentium 4, Intel Xeon, and P6 family processors. It is not guaranteed to be
available or available at the same location in future Intel 64 or IA-32 processors.
(Великая книга).
Как это понимать?
2)В чем смысл Spurious Interrupt (из мануалов ничего не понял - как его обрабатывать)?

Автор:  SII [ 02 апр 2012, 18:05 ]
Заголовок сообщения:  Re: SMP, переназначение прерываний

Spurious Interrupt везде означает примерно одно и то же -- ложное прерывание. Оно происходит, когда процессору уже выдан запрос прерывания и он отправил подтверждение, а контроллер прерывания обнаружил, что исходный запрос (от устройства) куда-то пропал. Обычный PIC, помнится, в таких случаях нагло врал процессору, заявляя, что прерывание пришло по линии IRQ 7 или IRQ 15 (в зависимости от того, первый это PIC или второй), поэтому обработчики соответствующих векторов должны были уже сами выяснять, а не ложное ли это прерывание.

Ну а обработка... Скорей всего, достаточно просто его проигнорировать. Просто частое появление таких прерываний является поводом задуматься, а всё ли хорошо работает: вообще говоря, их возникать не должно.

Страница 3 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/