Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arm64: boot protocol documentation update for GICv3

Linux has some requirements that must be satisfied in order to boot
on a system built with a GICv3.

Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>

authored by

Marc Zyngier and committed by
Christoffer Dall
63f8344c 96f68023

+8
+8
Documentation/arm64/booting.txt
··· 141 141 the kernel image will be entered must be initialised by software at a 142 142 higher exception level to prevent execution in an UNKNOWN state. 143 143 144 + For systems with a GICv3 interrupt controller: 145 + - If EL3 is present: 146 + ICC_SRE_EL3.Enable (bit 3) must be initialiased to 0b1. 147 + ICC_SRE_EL3.SRE (bit 0) must be initialised to 0b1. 148 + - If the kernel is entered at EL1: 149 + ICC.SRE_EL2.Enable (bit 3) must be initialised to 0b1 150 + ICC_SRE_EL2.SRE (bit 0) must be initialised to 0b1. 151 + 144 152 The requirements described above for CPU mode, caches, MMUs, architected 145 153 timers, coherency and system registers apply to all CPUs. All CPUs must 146 154 enter the kernel in the same exception level.