• John Tsichritzis's avatar
    FVP: Remove GIC initialisation from secondary core cold boot · 9c29e5f7
    John Tsichritzis authored
    
    
    During the secondary cores' cold boot path, the cores initialise the GIC
    CPU interface. However this is a redundant action since 1) the cores are
    powered down immediately after that, 2) the GIC CPU interface is
    initialised from scratch when the secondary cores are powered up again
    later.
    
    Moreover, this part of code was introducing a bug. In a GICv3 system,
    the GIC's CPU interface system registers must not be written without the
    core being marked as "awake" in the redistributor. However, this
    sequence was performing such accesses and this would cause those cores
    to hang. The hang was caused by the DSB instruction that would never
    complete because of the GIC not recognising those writes.
    
    For the two aforementioned reasons, the entire part of the GIC CPU
    interface initialisation is removed.
    
    Change-Id: I6c33a1edda69dd5b6add16a27390a70731b5532a
    Signed-off-by: default avatarJohn Tsichritzis <john.tsichritzis@arm.com>
    9c29e5f7
fvp_helpers.S 5.41 KB