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.
Hi,
I'm pretty much new to this. I have Level 2 table (for ARMv8 - 64KB granule) with multiple 512MB block entries inside.Some of those blocks are not valid (belong to the reserved/not accessible memory).
Instead of them I've put INVALID entry with descriptor: 0x0000000000000002Problem is that when this invalid entry is hit (mis-predicted), VA address is translated to PA = 0x0 and cpu will try to read from 0x0.I thought it will dismiss this translation.
0x0000000000000002
PA = 0x0
0x0
Is there a way to declare this invalid entry to dismiss/not translate this address when it is hit?
Thanks
With a 64K granule you should be having 3x lookup levels, namely level1, level2 and level3 and shouldn't be setting 0x2 at level3.
0, Reserved, invalidBehaves identically to encodings with bit[0] set to 0.This encoding must not be used in level 3 translation table