Details

This commit is a temporary enabler for ThunderX Dual-Socket system. To be reverted once full 4-level pagetables are implemented.

When MMU is being enabled, the executed code must be mapped directly. If the UEFI loads kernel above the first 2^39 bytes, we're running out of VM addresses. This patch creates 4-level pagetable structure (with 16 L1 pages, thus supports up to 2^43 bytes of physical address space). Once MMU is enabled, locore drops back to 3-level to be in-sync with what initarm requires.