When FEAT_LPA{,2} are not implemented, the ID_AA64MMFR0_EL1.PARange and
TCR.IPS values corresponding with 52-bit physical addressing are
reserved.
Setting the TCR.IPS field to 0b110 (52-bit physical addressing) has side
effects, such as how the TTBRn_ELx.BADDR fields are interpreted, and so
it is important that disabling FEAT_LPA2 (by overriding the
ID_AA64MMFR0.TGran fields) also presents a PARange field consistent with
that.
So limit the field to 48 bits unless LPA2 is enabled, and update
existing references to use the override consistently.
Fixes:
|
||
|---|---|---|
| .. | ||
| .gitignore | ||
| Makefile | ||
| idreg-override.c | ||
| kaslr_early.c | ||
| map_kernel.c | ||
| map_range.c | ||
| patch-scs.c | ||
| pi.h | ||
| relacheck.c | ||
| relocate.c | ||