• Zenghui Yu's avatar
    irqchip/gic-v4.1: Ensure L2 vPE table is allocated at RD level · 4e6437f1
    Zenghui Yu authored
    
    
    In GICv4, we will ensure that level2 vPE table memory is allocated
    for the specified vpe_id on all v4 ITS, in its_alloc_vpe_table().
    This still works well for the typical GICv4.1 implementation, where
    the new vPE table is shared between the ITSs and the RDs.
    
    To make it explicit, let us introduce allocate_vpe_l2_table() to
    make sure that the L2 tables are allocated on all v4.1 RDs. We're
    likely not need to allocate memory in it because the vPE table is
    shared and (L2 table is) already allocated at ITS level, except
    for the case where the ITS doesn't share anything (say SVPET == 0,
    practically unlikely but architecturally allowed).
    
    The implementation of allocate_vpe_l2_table() is mostly copied from
    its_alloc_table_entry().
    Signed-off-by: default avatarZenghui Yu <yuzenghui@huawei.com>
    Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
    Link: https://lore.kernel.org/r/20200206075711.1275-4-yuzenghui@huawei.com
    4e6437f1
irq-gic-v3-its.c 119 KB