lkml.org 
[lkml]   [2019]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 170/230] arm64: Relax GIC version check during early boot
    Date
    4.4-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    [ Upstream commit 74698f6971f25d045301139413578865fc2bd8f9 ]

    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: 021f653791ad17e03f98aaa7fb933816ae16f161 ("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>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/arm64/kernel/head.S | 3 +--
    1 file changed, 1 insertion(+), 2 deletions(-)

    diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S
    index 0382eba4bf7b..6299a8a361ee 100644
    --- a/arch/arm64/kernel/head.S
    +++ b/arch/arm64/kernel/head.S
    @@ -478,8 +478,7 @@ CPU_LE( bic x0, x0, #(3 << 24) ) // Clear the EE and E0E bits for EL1
    /* 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, ICC_SRE_EL2
    orr x0, x0, #ICC_SRE_EL2_SRE // Set ICC_SRE_EL2.SRE==1
    --
    2.19.1


    \
     
     \ /
      Last update: 2019-03-22 14:08    [W:3.238 / U:0.120 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site