kray_zemli (kray_zemli) wrote,
kray_zemli
kray_zemli

640 КБ хватит всем

Продолжаем исследования. Серверное ядро само по себе под XP не заводится -- виснет.
Ломанное ядро XP работает с 4 ГБ только в безопасном режиме. Говорят, что проблема в HAL.DLL и касается поддержки DMA и Bus Mastering. Облазил все функции DMA, нихуя подозрительного там не нашёл.

Кстати, падает ломанное ядро с ошибкой PAGE_FAULT_IN_NONPAGED_AREA, которая возникает внутри функции MmMapLockedPagesWithReservedMapping(...), при чтении из массива по адресу _MmPfnDatabase. Такое дело: если флажок MDL_IO_SPACE установлен, то функция проверяет, что номер страницы в MDL не превышает максимальный номер физической страницы, а ещё смотрит сооветствующий бит в _MiPfnBitMap. Если же флажок MDL_IO_SPACE сброшен, то функция нихуя не проверяет. С какого вдруг хуя в MDL массиве возникают неправильные номера страниц – пока не понятно, надо искать что-то типа SoftIce и ковырять ядро им.

Функция MmMapLockedPagesWithReservedMapping как раз используется как в scsiport.sys, так и в hal.dll в DMA-функции MapTransfer.

Сейчас вот придётся разбираться, как заполняется MDL при входе в обработчики драйвера.
Subscribe

  • Зачем либералам власть?

    Забавляет либеральное двоемыслие, предлагающее давить на власть сугубо законными методами, в то время как власть пишет закон сугубо под себя, да и…

  • Дворец: мужское и женское

    Традиционно, в дворцах есть мужская и женская части. Исходя из этого предположения, по плану легко сообразить, что казино, танцевальный автомат,…

  • Глубинный народ о Дворце

    Подумаешь, дворец! У вечернего мудозвона Соловьёва — и то хоромы есть. А Путину что, нельзя? Тем более, в России, а не где-нибудь в Америках да…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 1 comment