MMU aarch64: пропуск таблиц первого / второго уровня

В MMU armv7 [1] / aarch32 [2], при использовании длинного дескриптора, когда виртуальное пространство, описываемое ttbr0, достаточно мало (здесь 1Gb), перевод уровня 1 можно пропустить, оставляя только два уровня переводов.

Однако я не видел ничего подобного в описании перевода aarch64. Кто-нибудь знает, можно ли еще уменьшить количество таблиц перевода, используемых ttbr0 при использовании aarch64?

Ссылка в ARM ARM была бы хороша, если бы она существовала.

Лучший,

V.

[1]: ARMARM v7, B3.6 Формат таблицы перевода длинных дескрипторов, рис. B3-12 Общий вид трансляции адреса этапа 1 с использованием формата длинных дескрипторов

[2]: ARMARM v8, G4.6.1 Обзор трансляции адресов VMSAv8-32 с использованием таблиц перевода длинных дескрипторов, рис. G4-8

1 ответ

Решение

Как обсуждено здесь, это все еще возможно, но распространено на несколько сценариев. Я в основном зависит от размера гранул и размера виртуального пространства. Есть несколько таблиц (например, Table D4-11 TCR.TnSZ values and IA ranges when there is no concatenation of translation tables), который поможет вам понять, с какого уровня перевода вы начнете, в зависимости от вашей конфигурации.

Другие вопросы по тегам