Как пройти через переменную pgd из mm_struct?Linux

Ответить
Anonymous
 Как пройти через переменную pgd из mm_struct?

Сообщение Anonymous »

Я использую базовую установку Linux 6 с busybox.
Все, что я хотел сделать, это просто пройти через таблицу PGD, затем в таблицу PMD, а затем в таблицу PTE. для текущего процесса.
Я установил точку останова на «context_switch» и пытаюсь распечатать «prev.mm.pgd». Я получаю адрес, но все его значения равны 0.
Может ли это быть потому, что любой context_switch, на который ссылается в своих предыдущих и следующих аргументах, просто не завершился или не завершился созданием какая-нибудь таблица страниц?
Почему это должно быть? И есть ли более простой способ прочитать записи PTE для данного процесса во время его отладки с помощью gdb и эмулятора qemu?
У меня нет большого доступа к пользовательскому пространству, поскольку это всего лишь файловая система barebone с busybox. Если рекомендуется расширить функциональность пользовательского пространства, чтобы я мог использовать собственные сценарии в пользовательском пространстве, я пересмотрю свою текущую настройку.
Я просто не думал, что найти массив будет так сложно записей pte при отладке с помощью gdb и qemu.

Подробнее здесь: https://stackoverflow.com/questions/791 ... -mm-struct
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»