HomeFreeBSD

Allow the creation of 3 level page tables on arm64

Description

Allow the creation of 3 level page tables on arm64

The stage 2 arm64 page tables may need to start at a lower level. This
is because we may only be able to map a limited IPA range and trying
to use a full 4 levels will cause the CPU to fault in an unrecoverable
way.

To simplify the code we still allocate the full 4 levels, however level 0
will only ever be used to find the level 1 table used as the base. Handle
this by creating a dummy entry in the level 0 table to point to the level 1
table.

Sponsored by: Innovate UK
Differential Revision: https://reviews.freebsd.org/D26066

Details

Provenance
andrewAuthored on
Differential Revision
D26066: Allow the creation of 3 level page tables
Parents
rS367319: MFC r367258:
Branches
Unknown
Tags
Unknown