My Understanding on ARM MMU is low and trying to understand how Page table is organised in ARM MMU.
Page table is created at system boot up time and can be thought of as linear one dimensional array where each entry is 4 byte long but I don't understand what is 1 MB SECTION corresponds to in Page table?
If we have three level of page table, would our first level page table(PGD) contains this 1 MB section or would it (1 MB section) be only part of third level page table (PTE)?
Also what it meant by following statement:
The start of the page table is 0x40200000, each entry is 4 bytes long and each entry corresponds to a 1MB section of memory. The first entry in the page table (0x40200000) represents what happens when you try to access memory between the range of 0x00000000 to 0x00100000, the second entry (4 bytes into the table at 0x40200004) represents the memory range 0x00100000 to 0x00200000, etc.
Therefore to find the page table associated with area of memory 0x40200000 to 0x40200000+1MB (which is the 402nd MB of memory) – you need to traverse the page table list by 402 entries – but each entry is 4 bytes long therefore you need to time this number by 4.