Показать сообщение отдельно

  #4  
Старый 21.08.2007, 10:31
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

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

Тема закрыта