Я использую базовую установку 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