Коллеги, вот вопросом озадачился. Если при включенной страничной трансляции одному физическому адресу сответствует несколько линейных адресов (теоретически очень много), то гарантированно отловить все read/write по этому адресу нихрена не получится (если алиасных линейных адресов > 4). Т.е. суть в том, что нельзя поставить бряк на физ. адрес. Я, по крайней мере, решения не вижу. Или как-то извратиться все-таки можно?
Сомневаюсь. Особенно, если учесть, что физический адрес может быть 36-ти разрядным, а в регистрах места только на 32 бита Но в отладке не спец, только читал, даже не пробовал пока.
Тут мысль пришла по поводу. В принципе, можно такую блуду замутить. Во всех элементах таблиц PTE, к-рые сслаются на требуемый адрес, пометить страничку как not present и в своем обработчике страничных ексепшнов делать разбор полетов. Технология в общем-то не новая. Только геморно это, имхо.