LdB
Posts: 1111
Joined: Wed Dec 07, 2016 2:29 pm

VMSAv7 virtual memory

Sun Apr 21, 2019 2:40 pm

Just setting up a VMSAv7 short descriptor for virtual memory like we do on AARCH64 but just need check a couple of things because the terminology is different.

So I have got a 4096 section table entries each of 1Mb for my 1:1 mapping on TBBR0 .. so that TLB is 4GB of address space
I have 2MB of 2 level table of 4Kb pages (2 L2 tables ... 256x2 x4096 = 2Mb) on TBBR1 starting at 0xFFE00000

Now I set TBBCR.N = 1

So I am hoping thats means that the top half of the 1:1 map table drops dead because TBBR0 only works with A31 = 0
The moment A31=1 it goes to table on TBBR1

So I am hoping that gives me 1:1 mapping on the lower 2GB, a big hole, 2Mb of Virtual 4K pages up at 0xFFE00000

I assume I make the virtual table entries outer sharable?

Return to “Bare metal, Assembly language”