PDA

Просмотр полной версии : Win 2k & IRQ - нашел пилюлю >>>



Orion33
28.03.2005, 21:00
Короче, кто-то где-то говорил, в Вин2к прерывания у всех устройств одинаковое, что это мол-де внутренняя обшибка и лечится только удалением драйвера ACPI...

Нифига!

Это глюк, но поверхностный, только в консоли управления. Ну не может быть такого, чтобы ВСЕ устройства висели на одном прерывании!

Недавно нарыл такой вот ключик интересный /PCILOCK, который отключает в этой самой винде динамическую раздачу прерываний. Написал в boot.ini:


[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional RUS" /fastdetect /pcilock

Яволь!! Оно работает. Теперь все прерывания отображаются как в БИОСе. После загрузки все устройства начали работать сразу бес повторной установки дров, как это бывает, когда жонглируешь ими в слотах. Это говорит о том, что где-то внутри у винды таки правильные прерывания.

Youss
29.03.2005, 10:30
Короче, кто-то где-то говорил, в Вин2к прерывания у всех устройств одинаковое, что это мол-де внутренняя обшибка и лечится только удалением драйвера ACPI...

Нифига!

Это глюк, но поверхностный, только в консоли управления. Ну не может быть такого, чтобы ВСЕ устройства висели на одном прерывании!

может. называется IRQ Cascading - описан вроде в стандарте PCI ver 2.1. ты этот самый каскадинг отключил. :)

schuss
30.03.2005, 22:55
может. называется IRQ Cascading - описан вроде в стандарте PCI ver 2.1. ты этот самый каскадинг отключил. :)
Никуда он его не отключил - если BIOS посадит несколько устройств на одно прерывание, то там они и будут сидеть.

Кстати, данная проблема, когда 2000 по умолчанию сажает кучу железок на одно прерывание, наблюдается только на материнках, где отсутствует или отключен APIC.

Orion33
31.03.2005, 00:25
Кстати, данная проблема, когда 2000 по умолчанию сажает кучу железок на одно прерывание, наблюдается только на материнках, где отсутствует или отключен APIC.
Не APIC, а ACPI, и не выключен/остутствует, а наоборот включен.

schuss
31.03.2005, 22:17
Не APIC, а ACPI, и не выключен/остутствует, а наоборот включен.

Вот только не надо путать тёплое с мягким. ACPI - это Advanced Configuration and Power Interface, а APIC - это Advanced Programmable Interrupt Controller. При наличии второго в системе появляются дополнительные прерывания, на которые Win2000 без проблем рассаживает устройства без пересечений, за исключением тех железяк, которые повешены на одно прерывание на аппаратном уровне (например, на многих мамках первый слот PCI аппаратно висит на одном прерывании с AGP и разнести их невозможно).