summaryrefslogtreecommitdiff
path: root/arch/arm64/include/asm/memory.h
diff options
context:
space:
mode:
authorPeter Collingbourne <pcc@google.com>2021-07-27 13:54:39 -0700
committerCatalin Marinas <catalin.marinas@arm.com>2021-07-28 18:40:12 +0100
commitd914b80a8f567d052d621197974ae08f729c963d (patch)
tree35c61125db262aadb5840a24ae2abdd0eee66ffa /arch/arm64/include/asm/memory.h
parentafdfd93a53aea68837b34da81d442358ff7552f3 (diff)
arm64: avoid double ISB on kernel entry
Although an ISB is required in order to make the MTE-related system register update to GCR_EL1 effective, and the same is true for PAC-related updates to SCTLR_EL1 or APIAKey{Hi,Lo}_EL1, we issue two ISBs on machines that support both features while we only need to issue one. To avoid the unnecessary additional ISB, remove the ISBs from the PAC and MTE-specific alternative blocks and add a couple of additional blocks that cause us to only execute one ISB if both features are supported. Signed-off-by: Peter Collingbourne <pcc@google.com> Link: https://linux-review.googlesource.com/id/Idee7e8114d5ae5a0b171d06220a0eb4bb015a51c Link: https://lore.kernel.org/r/20210727205439.2557419-1-pcc@google.com Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/include/asm/memory.h')
0 files changed, 0 insertions, 0 deletions