diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2024-12-12 11:18:44 +0300 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2024-12-19 20:23:52 +0300 |
commit | 62cffa496aac0c2c4eeca00d080058affd7a0172 (patch) | |
tree | 6676beda3698279c428e6f70ee4670beaec5fd90 /tools/perf/scripts/python/gecko.py | |
parent | bf74bb73cd87c64bd5afc1fd4b749029997b6170 (diff) | |
download | linux-62cffa496aac0c2c4eeca00d080058affd7a0172.tar.xz |
arm64/mm: Override PARange for !LPA2 and use it consistently
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: 352b0395b505 ("arm64: Enable 52-bit virtual addressing for 4k and 16k granule configs")
Cc: stable@vger.kernel.org
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20241212081841.2168124-10-ardb+git@google.com
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/gecko.py')
0 files changed, 0 insertions, 0 deletions