Как создать ошибку размера адреса на ARMv8 32 бита? - PullRequest
0 голосов
/ 23 октября 2019

Я новичок в ARM и пытаюсь понять теорию, лежащую в основе преобразования адресов, чтобы создать ошибку размера адреса на разных уровнях. Я знаю, что в процессе преобразования виртуального адреса в физический адрес используются дескрипторы формата таблицы перевода длинных дескрипторов. При соблюдении форматов «Блок» и «Таблица» для уровня 1 и 2 и формата «Страница» для уровня 3, если биты [47:40] не равны нулю, тогда преобразование, использующее дескриптор, сгенерирует ошибку размера адреса.

Чего я не понимаю, так это того, почему биты [47:40] не будут равны нулю, то есть, если я работаю в C и нужно выделить страницу ОЗУ, какая возможная причина может привести к тому, что эти битыустановить ненулевое значение?

...