Короче, сабж. Какие идеи по поводу того, как процессоры Intel/AMD при включённом PAE реагируют на выставленный бит EXB (Execute-Disable Bit) в дескрипторах страниц. Как мне представляется, по идее он должен игнорироваться (так как числится в мануале как Reserved, should be zero) и активироваться только при включённом расширении Execute-Disable Bit. Просто пришлось столкнуться с такой проблемой, что Bochs на этот бит забивает, а qemu падает. Есть какие-нибудь соображения?
Даже в тех, в которых не было поддержки EXB? В смысле, в дескрипторе страницы старший бит выставлен в единицу. Если проц не поддерживает Execute-Disable Bit, он будет его игнорировать или уйдёт в ребут?
SadKo Судя по документации интела написано: execution disable bit in page translation mechanism is checked only then: 1) IA32_EFER.NXE = 1 2) The instruction translation look-aside buffer (ITLB) is loaded with a page is not already present in the ITLB По сути проверка идет когда установлен бит NXE. Только тогда идет проверка и в этом случае генерится page fault на любом уровне привелегий. Там еще приводиться 2 таблицы в которых показаны проверяемые биты в зависимости от режимов страничной адресации, когда Execute-Disable Bit включен и выключен. Думаю это то, что вам нужно. а по теме QEMU врет.
TermoSINteZ, я имею в виду реакцию процессоров, которые не поддерживают вообще EXB-расширение (например, Pentium II), но имеют поддержку PAE. Лично моё предположение, что младшие процессоры их вообще не используют (игнорируют). Но верно ли оно?
SadKo Утверждать не берусь, но логично предположить, что в процах, не поддерживающих эту фичу, попытка установить зарезервированный бит должна вызывать ошибку. Если напишешь тестовую программку, могу попробовать проверить -- где-то должен быть рабочий пень-2 (если его ещё не выкинули). Ну а самому писать попросту лень Пы.Сы. Программка должна грузиться с дискеты, т.е. нужен образ дискеты.
ОК, вот архив. Там и образ дискеты, и образ flash/hdd диска - на выбор. Фактически, это "урезанное" текущее ядро (так как переделываю страничный механизм).