I have been trying to set up page tables using 64 KB page size with three levels.However for some reason if i have my ttbr0 point to level 2 it works just as in circle 64 but if i create level1 and have ttbr0 point to level 1 it does not.I have gone through the system registers but i did not find any reason why this could happen.
Level 1 starts at 00000
Level 2 starts at 010000 Maps 3 enteries of 512 MB
Level 3 starts at 020000 8192 Entries of 64 KB
If i have ttbr0_el1 point to level 2 base address it works but if it points to level1 it does not.
I have realized it is something to do with t0sz value if i set it to 16 it works but earlier it was set to 32 causing the problem
The documentation mentions a range for t0z vaues for lookup in each level
giving any number within the range is fine or each number has a signficance in t0sz?
What could be the reason ?