mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
Arm: cpu_*_map adjustments
First, they all start out zeroed. There's no point doing an initial cpumask_clear() on them. Next, only cpu_online_map may be altered post-boot, and even that only rarely. Add respective placement attributes. Finally, cpu_present_map really isn't anything more than an alias of cpu_possible_map. Avoid the copying, and have the linker provide the symbol (if needed in the first place; it is needed right now as common code references the symbol). Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
This commit is contained in:
1 parent
a05598bd12
commit
b097a774b3
2 files changed
+4
-7
No files matched your search
@@ -35,9 +35,8 @@
|
||||
#undef virt_to_mfn
|
||||
#define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
|
||||
|
||||
cpumask_t cpu_online_map;
|
||||
cpumask_t cpu_present_map;
|
||||
cpumask_t cpu_possible_map;
|
||||
cpumask_t __read_mostly cpu_online_map;
|
||||
cpumask_t __ro_after_init cpu_possible_map;
|
||||
|
||||
struct cpuinfo_arm cpu_data[NR_CPUS];
|
||||
|
||||
@@ -111,8 +110,6 @@ static void remove_cpu_sibling_map(int cpu)
|
||||
void __init
|
||||
smp_clear_cpu_maps (void)
|
||||
{
|
||||
cpumask_clear(&cpu_possible_map);
|
||||
cpumask_clear(&cpu_online_map);
|
||||
cpumask_set_cpu(0, &cpu_online_map);
|
||||
cpumask_set_cpu(0, &cpu_possible_map);
|
||||
cpu_logical_map(0) = READ_SYSREG(MPIDR_EL1) & MPIDR_HWID_MASK;
|
||||
@@ -312,8 +309,6 @@ smp_prepare_cpus(void)
|
||||
{
|
||||
int rc;
|
||||
|
||||
cpumask_copy(&cpu_present_map, &cpu_possible_map);
|
||||
|
||||
rc = setup_cpu_sibling_map(0);
|
||||
if ( rc )
|
||||
panic("Unable to allocate CPU sibling/core maps\n");
|
||||
|
||||
@@ -206,6 +206,8 @@ SECTIONS
|
||||
ELF_DETAILS_SECTIONS
|
||||
}
|
||||
|
||||
PROVIDE(cpu_present_map = cpu_possible_map);
|
||||
|
||||
/*
|
||||
* The assembly code use _start and XEN_VIRT_START interchangeably to
|
||||
* match the context.
|
||||
|
||||