Bargest писал(а):
В очередной раз потестил ОСь в QEMU, все ок. Потестил на вмваре - не пашет. Нашел мегабаг в куему.
Оказалось, я случайно указал в PDE таблице (т.е. в пейдж директории) виртуальный адрес таблицы страниц (для страниц, на которые отображено ядро). И оно работало в QEMU! Как - для меня загадка.
Есть предположение. Ведь в физической адресации используется только 36 младших бит (64Г), поэтому после обрезания старших бит от 480Г получился адрес совпадающий с физическим. По спецификации, старшие биты должны содержать нули, но QEMU их не проверяет, а просто отбрасывает.