2015-05-17 11 views
-1

Я пытаюсь отправить IPI себе.APIC отправить прерывание успешно, но только один раз

Запись в APIC в позиции 0x310 и 0x300 завершается успешно (прерывание отправляется), но только один раз.

Следующая запись ничего не делает, пока я не перезапущу.

Любые предложения?

+0

Возможно, потому что обработчик прерывания не делает что-то, что он должен разрешить другому IPI. –

+0

Какие действия следует предпринять тогда? – Michael

ответ

0

Я нашел его.

Я должен написать в регистр EOI.

; Write it to 0xB0 (EOI) 
    MOV EDI,[DS:LocalApic] 
    ADD EDI,0xB0 
    MOV dword [FS:EDI],0