We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
In the ARM Architecture Reference Manual ARMv8, for ARMv8-A architecture profile, there's a description about vttbr_el3: " Register bits[47:x] hold bits[47:x] of the stage 1 translation table base address" . I am a little confused, as far as I know , the vttbr_el3 register hold the stage 3 page table base address, so what's the meaning of " stage 1 translation table base address"?
Also, I tired to open the 3 stage paging in my system liteblue. I setup the 3 stage page table at physical address(0x30000000), and set the vttbr_el3 to this value.However, I got a Data Abort (code: 000101) which means a level 2 translation fault in stage 1 translation. So what's the correct usage of vttbr_el3?
I am using cortex-a53 and here's the related register value I set:
HCR: 0x80000001
VTCR_EL3: 0x80033558
VTTBR_EL3: 0x30000000