yogev_ezra wrote:
А если поменять одну строчку (IDE Operate Mode) с Legacy Mode на Native Mode, то через несколько секунд после загрузки зависает (лог снять не хватает времени). Но как раз именно с Native Mode работает Windows.
Я таки разобрался в чем запарка с
Native Mode. Дело в том, что для "настоящих" PATA контроллеров 0x80 и 0x8A отдаются два прерывания на каждый из контроллеров 14 и 15. А для 0x85 и 0x8f отдается только одно прерывание. Код же в ядре в настоящее время при любом раскладе подминает под себя 14 и 15 прерывания. В
Legacy Mode это нормально, так как там контроллер обзывается 0x8A, а вот
Native Mode контроллер обзывается 0x8f и BIOS отдав IRQ14 контроллеру, разумно полагает, что уж IRQ15 он может использовать как ему заблагорассудится и вешает на него USB2. А код в ядре ничтоже сумняшеся по прежнему пытается обработать IRQ15 как принадлежащее контроллеру дисков. Я делаю предположение, что код USB2, не получив нужные ему данные, сильно обижается на злую судьбу и устраивает "Большой Бада-Бум". Вот как-то так.
