Установка точки останова в TLB Access

Есть ли возможность установить точку останова после того, как определенный PID получил доступ к записи TLB (буферу резервного копирования перевода) в ARM v6, предполагая, что я знаю PID.

Есть ли у записей TLB определенный адрес, чтобы я мог установить для них точку останова?


person Sama Azari    schedule 30.06.2015    source источник


Ответы (1)


Это будет практически невозможно сделать в пользовательском пространстве, поскольку ядро ​​и аппаратное обеспечение абстрагируются от пользователя.

TLB фактически заполняется аппаратным обеспечением, когда происходит промах поиска виртуального адреса, и сбрасывается каждый раз, когда происходит переключение контекста.

Единственный способ, который я могу придумать, это использовать какой-нибудь kprintf и возиться с кодом управления памятью в Linux, и это будет непросто понять с помощью kgdb.

Этот ответ о переполнении стека может помочь вам использовать резервный буфер перевода ARM11 (TLB)?

person Pradheep    schedule 30.06.2015
comment
Что, если я делаю это из пространства ядра? - person Sama Azari; 30.06.2015
comment
Как упоминалось выше, вы можете использовать kprintf и, возможно, вам придется повозиться с кодом управления памятью, а также понять структуру TLB ARM V6. - person Pradheep; 30.06.2015