Вставил в сишный код драйвера функции с ассемблерными вставками, которые используют инструкции 486. Вылезает Page fault. В 3 кольце этот же самый код на асме работает безупречно. Может быть надо какие-нить опции компилятора задавать при сборке драйвера. Кто-нибудь знает?
Нет, не нужно никаких опций компилятора. На платформе X86 ассемблерные вставки работают прекрасно. Page Fault может вылезать из-за того, что ты на DISPATCH_LEVEL, к примеру, обращаешся к paged pool памяти. На AMD64 никакие ассемблерные вставки уже не поддерживаются компилятором.
А, еще стека твой код может много жрать - для kernel mode потока доступно всего несколько страниц стека.