• Nicolas Pitre's avatar
    ARM: multi-cluster PM: secondary kernel entry code · e8db288e
    Nicolas Pitre authored
    CPUs in cluster based systems, such as big.LITTLE, have special needs
    when entering the kernel due to a hotplug event, or when resuming from
    a deep sleep mode.
    
    This is vectorized so multiple CPUs can enter the kernel in parallel
    without serialization.
    
    The mcpm prefix stands for "multi cluster power management", however
    this is usable on single cluster systems as well.  Only the basic
    structure is introduced here.  This will be extended with later patches.
    
    In order not to complexify things more than they currently have to,
    the planned work to make runtime adjusted MPIDR based indexing and
    dynamic memory allocation for cluster states is postponed to a later
    cycle. The MAX_NR_CLUSTERS and MAX_CPUS_PER_CLUSTER static definitions
    should be sufficient for those systems expected to be available in the
    near future.
    Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
    Reviewed-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
    Reviewed-by: default avatarWill Deacon <will.deacon@arm.com>
    e8db288e
mcpm_entry.c 704 Bytes