Skip to content
  • Peter Maydell's avatar
    04616415
    hw/intc/arm_gicv3: Set GICR_TYPER.Last correctly when nb_redist_regions > 1 · 04616415
    Peter Maydell authored
    
    
    The 'Last' bit in the GICR_TYPER GICv3 redistributor register is
    supposed to be set to 1 if this is the last redistributor in a series
    of contiguous redistributor pages.  Currently we set Last only for
    the redistributor for CPU (num_cpu - 1).  This only works if there is
    a single redistributor region; if there are multiple redistributor
    regions then we need to set the Last bit for the last redistributor
    in each region.
    
    This doesn't cause any problems currently because only the KVM GICv3
    supports multiple redistributor regions, and it ignores the value in
    GICv3State::gicr_typer.  But we need to fix this before we can enable
    support for multiple regions in the emulated GICv3.
    
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
    04616415
    hw/intc/arm_gicv3: Set GICR_TYPER.Last correctly when nb_redist_regions > 1
    Peter Maydell authored
    
    
    The 'Last' bit in the GICR_TYPER GICv3 redistributor register is
    supposed to be set to 1 if this is the last redistributor in a series
    of contiguous redistributor pages.  Currently we set Last only for
    the redistributor for CPU (num_cpu - 1).  This only works if there is
    a single redistributor region; if there are multiple redistributor
    regions then we need to set the Last bit for the last redistributor
    in each region.
    
    This doesn't cause any problems currently because only the KVM GICv3
    supports multiple redistributor regions, and it ignores the value in
    GICv3State::gicr_typer.  But we need to fix this before we can enable
    support for multiple regions in the emulated GICv3.
    
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
Loading