Hi forks. I am a newbie engineer for arm-processor and I have a question about VMSAv7-32.
According to ARMv8 architecture manual, page 3592: arm processor can skip first level table if a first level table would contain only one entry..
How arm processor determine it? How to know first level table has only one entry????
It's similar to AArch64. The size of the virtual space is configurable. For example, for Hyp mode HCR.T0SZ controls the size of the address space for Hyp mode. Where:
size of virtual address space (in bits) = 64 - HCR.T0SZ
In other words, as you increase the value of T0SZ you are shrinking the size of the virtual address space.
For AArch32, when using the Long Descriptor format, each entry in the level 1 table represents one 1GB of address space. So once you shrink the total address space to 1GB (or less), translation will start at level 2 instead.
Thank you for your response, It make happy me.
View all questions in Cortex-A / A-Profile forum