
21.08.2007, 10:31
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
iv., процитировал руссиновича, молодец.
По делу я могу уже ответить, я разобрался.
FFFE0000 - базовый адрес маппинга регистров APIC в виртуальное адресное пространство. По смещению 80h там находится регистр Task Priority Register (TPR)
Значение 41 маскирует все прерывания выше 0, то есть аналогично IRQL=DISPATCH_LEVEL
Вообщем APIC[TPR]=41h тоже самое что и KfRaiseIrql( DISPATCH_LEVEL )
movzx eax, ds:byte_8001D088[edx] - это таблица HalpIRQLtoTPR, устанавливающая соответствие между уровнями IRQL и соотв. значениями регистра TPR. Эта инструкция возвращает старый иркл по сохраненному значению TPR
Тема закрыта
|
|
|