Задать вопрос
@nnGot583
c#, iOS дизассемблирование

Почему приходит прерывание 0x20 в QEMU сразу после запуска ядра?

здравствуйте, делал свое ядро и после инициализации контроллера прерываний сразу, вместе с другими, корректно работающими прерываниями, стало постоянно приходить прерывание 0x20 с задежкой в примерно 0,2 секунды и без остановки.

Я инициализировал pic без каскадирования вот так:

pic_init:
mov al, 0x11
out 0x20, al

mov al, 0x20
out 0x21, al

mov al, 0x04
out 0x21, al

mov al, 0x01
out 0x21, al


Может это нормальное поведение или проблема не с контроллером?
Не знаю что и добавить, если будет нужно также пришлю idt или что вижу в отладчике
  • Вопрос задан
  • 32 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Может это нормальное поведение или проблема не с контроллером?

INT 0x20 это IRQ0 в твоей конфигурации, как я понимаю. IRQ0 на PC обычно таймер дёргает. Если прерывание не нужно -- не разрешай его в PIC. Если нужно настроить по-другому -- настраивай канал 0 таймера через порты 0x40 и 0x43.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы