Skip to content

Commit 74698f6

Browse files
murzinvwildea01
authored andcommitted
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: 021f653 ("irqchip: gic-v3: Initial support for GICv3") Reported-by: Chase Conklin <Chase.Conklin@arm.com> Reviewed-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
1 parent 0738c8b commit 74698f6

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

arch/arm64/kernel/head.S

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -539,8 +539,7 @@ set_hcr:
539539
/* GICv3 system register access */
540540
mrs x0, id_aa64pfr0_el1
541541
ubfx x0, x0, #24, #4
542-
cmp x0, #1
543-
b.ne 3f
542+
cbz x0, 3f
544543

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

0 commit comments

Comments
 (0)