# These have to remain sorted largest to smallest
default "64"
+config LITTLE_CPU_MASK
+ int "Bitmask of available LITTLE CPUs"
+ help
+ This is a bitmask specifying which of the CPUs are LITTLE in a
+ heterogeneous system. Use 0 if you are unsure, which just results in
+ this storing the bitmask of all available CPUs.
+
+config BIG_CPU_MASK
+ int "Bitmask of available big CPUs"
+ help
+ This is a bitmask specifying which of the CPUs are big in a
+ heterogeneous system. Use 0 if you are unsure, which just results in
+ this storing the bitmask of all available CPUs.
+
config HOTPLUG_CPU
bool "Support for hot-pluggable CPUs"
select GENERIC_IRQ_MIGRATION
* cpu_online_mask - has bit 'cpu' set iff cpu available to scheduler
* cpu_active_mask - has bit 'cpu' set iff cpu available to migration
* cpu_isolated_mask- has bit 'cpu' set iff cpu isolated
+ * cpu_lp_mask - has bit 'cpu' set iff cpu is part of little cluster
+ * cpu_perf_mask - has bit 'cpu' set iff cpu is part of big cluster
*
* If !CONFIG_HOTPLUG_CPU, present == possible, and active == online.
*
extern const struct cpumask *const cpu_present_mask;
extern const struct cpumask *const cpu_active_mask;
extern const struct cpumask *const cpu_isolated_mask;
+extern const struct cpumask *const cpu_lp_mask;
+extern const struct cpumask *const cpu_perf_mask;
#if NR_CPUS > 1
#define num_online_cpus() cpumask_weight(cpu_online_mask)
const struct cpumask *const cpu_isolated_mask = to_cpumask(cpu_isolated_bits);
EXPORT_SYMBOL(cpu_isolated_mask);
+#if CONFIG_LITTLE_CPU_MASK
+static const unsigned long lp_cpu_bits = CONFIG_LITTLE_CPU_MASK;
+const struct cpumask *const cpu_lp_mask = to_cpumask(&lp_cpu_bits);
+#else
+const struct cpumask *const cpu_lp_mask = cpu_possible_mask;
+#endif
+EXPORT_SYMBOL(cpu_lp_mask);
+
+#if CONFIG_BIG_CPU_MASK
+static const unsigned long perf_cpu_bits = CONFIG_BIG_CPU_MASK;
+const struct cpumask *const cpu_perf_mask = to_cpumask(&perf_cpu_bits);
+#else
+const struct cpumask *const cpu_perf_mask = cpu_possible_mask;
+#endif
+EXPORT_SYMBOL(cpu_perf_mask);
+
void set_cpu_possible(unsigned int cpu, bool possible)
{
if (possible)