Биты таблицы страниц в виртуальном адресе linux (4-уровневый пейджинг)

что такое pgd, pmd pte и биты сдвига страницы в 64-битном виртуальном адресе на процессоре armV8 с 4-уровневым пейджингом?

Мне нужна эта информация для отладки проблемы под рукой.


person mk..    schedule 26.11.2015    source источник
comment
Если вы отлаживаете ядро, наверняка у вас есть исходный код ядра под рукой?   -  person Notlikethat    schedule 26.11.2015
comment
Да @Notlikethat. У меня есть это. Пробовал смотреть сам. Но определения не являются прямыми. Поскольку эти переменные зависят от различных других переменных, а затем сдвигают их влево или вправо, сделать вывод не так просто. Отсюда и вопрос, если у кого-то уже есть ответ.   -  person mk..    schedule 26.11.2015
comment
@ Notlikethat arm64/memory.txt четко определяет это. Я понял. Выложил то же самое ниже. Спасибо.   -  person mk..    schedule 26.11.2015


Ответы (1)


Документ здесь очень четко объясняет https://www.kernel.org/doc/Documentation/arm64/memory.txt

Поиск таблицы перевода со страницами размером 4 КБ:

+--------+--------+--------+--------+--------+--------+--------+--------+
|63    56|55    48|47    40|39    32|31    24|23    16|15     8|7      0|
+--------+--------+--------+--------+--------+--------+--------+--------+
 |                 |         |         |         |         |
 |                 |         |         |         |         v
 |                 |         |         |         |   [11:0]  in-page offset
 |                 |         |         |         +-> [20:12] L3 index
 |                 |         |         +-----------> [29:21] L2 index
 |                 |         +---------------------> [38:30] L1 index
 |                 +-------------------------------> [47:39] L0 index
 +-------------------------------------------------> [63] TTBR0/1

L0 - ПГД, L1 - ПУД, L2 - ПМД, L3 - ПТЭ

Aarch64 использует только 0-39 бит (3-уровневый пейджинг). Следовательно, для систем aarch PGD(L0) = PUD(L1) = [38:30]. Остальная часть отображения остается прежней.

person mk..    schedule 26.11.2015