]> git.ipfire.org Git - thirdparty/linux.git/commit
arm64: head.S: Initialise MPAM EL2 registers and disable traps
authorJames Morse <james.morse@arm.com>
Wed, 30 Oct 2024 16:03:12 +0000 (16:03 +0000)
committerOliver Upton <oliver.upton@linux.dev>
Thu, 31 Oct 2024 18:09:38 +0000 (18:09 +0000)
commit23b33d1e168cfcc96666f025beb3bccfcb58403a
treed14a2a7cc12f3f54bcb419f93886c5e2317a6ad9
parent83732ce6a056c4bb242d64fd25e1fc78f35e6a74
arm64: head.S: Initialise MPAM EL2 registers and disable traps

Add code to head.S's el2_setup to detect MPAM and disable any EL2 traps.
This register resets to an unknown value, setting it to the default
parititons/pmg before we enable the MMU is the best thing to do.

Kexec/kdump will depend on this if the previous kernel left the CPU
configured with a restrictive configuration.

If linux is booted at the highest implemented exception level el2_setup
will clear the enable bit, disabling MPAM.

This code can't be enabled until a subsequent patch adds the Kconfig
and cpufeature boiler plate.

Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20241030160317.2528209-3-joey.gouly@arm.com
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
arch/arm64/include/asm/el2_setup.h