Доброго времени суток всем..
Трудности в сабж для p4,win2k.Приведенный ниже кусок кода задумывался для отрубания APIC, однако единственный результат — перезагрузка компа.В чем может быть фокус???
mov eax,1
cpuid
mov ax,200h
and ax,dx
jz no_apic //apic not present,jump outside
xor ecx,ecx
mov ecx,1bh //ia32_apic_base
xor eax,eax
xor edx,edx
rdmsr
and eax,0fffff7ffh //lo_part,bit11 force to 0,apic disabled
mov ecx,1bh //вдруг портится...
wrmsr
Забавно, что при and eax,0fffff8ffh (т.е. все без изменений) падения не происходит. Код выполняется на dispatch_level. Заранее спасибо...
Еще одно дополнение — крах происходит при типе компьютера "Однопроцессорный компьютер с ACPI" и НЕ происходит(т.е. APIC первоначально после загрузки ОС включен и нормально отрубается из моего драйвера) при типе "Компьютер с ACPI". Означает ли это, что APIC не используется или ограниченно используется в одном варианте ядра и полноценно(т.е. с сообщениями по системной шине etc.) в другом???