[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 04/10] xen/arm: Remove __initdata and __init to enable CPU hotplug
Hi Mirela, On 20/04/18 13:25, Mirela Simonovic wrote: CPU up flow is currently used during the initial boot to start secondary CPUs. However, the same flow should be used for CPU hotplug, e.g. when hotplugging secondary CPUs within the resume procedure (resume from the suspend to RAM). Therefore, prefixes __initdata and __init had to be removed from few data structures and functions that are used within the cpu up flow. Signed-off-by: Mirela Simonovic <mirela.simonovic@xxxxxxxxxx> Acked-by: Julien Grall <julien.grall@xxxxxxx> Cheers, --- CC: Stefano Stabellini <sstabellini@xxxxxxxxxx> CC: Julien Grall <julien.grall@xxxxxxx> --- xen/arch/arm/arm64/smpboot.c | 2 +- xen/arch/arm/irq.c | 2 +- xen/arch/arm/processor.c | 2 +- xen/arch/arm/smpboot.c | 4 ++-- xen/include/asm-arm/procinfo.h | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/xen/arch/arm/arm64/smpboot.c b/xen/arch/arm/arm64/smpboot.c index 4fd0ac68b7..694fbf67e6 100644 --- a/xen/arch/arm/arm64/smpboot.c +++ b/xen/arch/arm/arm64/smpboot.c @@ -104,7 +104,7 @@ int __init arch_cpu_init(int cpu, struct dt_device_node *dn) return smp_psci_init(cpu); }-int __init arch_cpu_up(int cpu)+int arch_cpu_up(int cpu) { if ( !smp_enable_ops[cpu].prepare_cpu ) return -ENODEV; diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c index aa4e832cae..098281f8ab 100644 --- a/xen/arch/arm/irq.c +++ b/xen/arch/arm/irq.c @@ -65,7 +65,7 @@ irq_desc_t *__irq_to_desc(int irq) return &irq_desc[irq-NR_LOCAL_IRQS]; }-int __init arch_init_one_irq_desc(struct irq_desc *desc)+int arch_init_one_irq_desc(struct irq_desc *desc) { desc->arch.type = IRQ_TYPE_INVALID; return 0; diff --git a/xen/arch/arm/processor.c b/xen/arch/arm/processor.c index ce4385064a..acad8b31d6 100644 --- a/xen/arch/arm/processor.c +++ b/xen/arch/arm/processor.c @@ -20,7 +20,7 @@static DEFINE_PER_CPU(struct processor *, processor); -void __init processor_setup(void)+void processor_setup(void) { const struct proc_info_list *procinfo;diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.cindex 1ca3d63261..38b665a6d2 100644 --- a/xen/arch/arm/smpboot.c +++ b/xen/arch/arm/smpboot.c @@ -52,8 +52,8 @@ nodemask_t __read_mostly node_online_map = { { [0] = 1UL } }; static unsigned char __initdata cpu0_boot_stack[STACK_SIZE] __attribute__((__aligned__(STACK_SIZE)));-/* Initial boot cpu data */-struct init_info __initdata init_data = +/* Boot cpu data */ +struct init_info init_data = { .stack = cpu0_boot_stack, }; diff --git a/xen/include/asm-arm/procinfo.h b/xen/include/asm-arm/procinfo.h index 26306b35f8..02be56e348 100644 --- a/xen/include/asm-arm/procinfo.h +++ b/xen/include/asm-arm/procinfo.h @@ -35,9 +35,9 @@ struct proc_info_list { struct processor *processor; };-const __init struct proc_info_list *lookup_processor_type(void);+const struct proc_info_list *lookup_processor_type(void);-void __init processor_setup(void);+void processor_setup(void); void processor_vcpu_initialise(struct vcpu *v);#endif -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |