Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 74698f69 authored by Vladimir Murzin's avatar Vladimir Murzin Committed by Will Deacon
Browse files

arm64: Relax GIC version check during early boot



Updates to the GIC architecture allow ID_AA64PFR0_EL1.GIC to have
values other than 0 or 1. At the moment, Linux is quite strict in the
way it handles this field at early boot stage (cpufeature is fine) and
will refuse to use the system register CPU interface if it doesn't
find the value 1.

Fixes: 021f6537 ("irqchip: gic-v3: Initial support for GICv3")
Reported-by: default avatarChase Conklin <Chase.Conklin@arm.com>
Reviewed-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
Signed-off-by: default avatarVladimir Murzin <vladimir.murzin@arm.com>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
parent 0738c8b5
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -539,8 +539,7 @@ set_hcr:
	/* GICv3 system register access */
	mrs	x0, id_aa64pfr0_el1
	ubfx	x0, x0, #24, #4
	cmp	x0, #1
	b.ne	3f
	cbz	x0, 3f

	mrs_s	x0, SYS_ICC_SRE_EL2
	orr	x0, x0, #ICC_SRE_EL2_SRE	// Set ICC_SRE_EL2.SRE==1