aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include
diff options
context:
space:
mode:
Diffstat (limited to 'xen/include')
-rw-r--r--xen/include/asm-arm/platform.h9
-rw-r--r--xen/include/asm-arm/smp.h9
2 files changed, 18 insertions, 0 deletions
diff --git a/xen/include/asm-arm/platform.h b/xen/include/asm-arm/platform.h
index a19dbf732b..dbd2a15ed4 100644
--- a/xen/include/asm-arm/platform.h
+++ b/xen/include/asm-arm/platform.h
@@ -15,6 +15,11 @@ struct platform_desc {
/* Platform initialization */
int (*init)(void);
int (*init_time)(void);
+#ifdef CONFIG_ARM_32
+ /* SMP */
+ int (*smp_init)(void);
+ int (*cpu_up)(int cpu);
+#endif
/* Specific mapping for dom0 */
int (*specific_mapping)(struct domain *d);
/* Platform reset */
@@ -43,6 +48,10 @@ struct platform_desc {
int __init platform_init(void);
int __init platform_init_time(void);
int __init platform_specific_mapping(struct domain *d);
+#ifdef CONFIG_ARM_32
+int platform_smp_init(void);
+int platform_cpu_up(int cpu);
+#endif
void platform_reset(void);
void platform_poweroff(void);
bool_t platform_has_quirk(uint32_t quirk);
diff --git a/xen/include/asm-arm/smp.h b/xen/include/asm-arm/smp.h
index 1c2746b763..1added5550 100644
--- a/xen/include/asm-arm/smp.h
+++ b/xen/include/asm-arm/smp.h
@@ -4,6 +4,7 @@
#ifndef __ASSEMBLY__
#include <xen/config.h>
#include <xen/cpumask.h>
+#include <xen/device_tree.h>
#include <asm/current.h>
#endif
@@ -22,9 +23,17 @@ extern void stop_cpu(void);
extern void
make_cpus_ready(unsigned int max_cpus, unsigned long boot_phys_offset);
+extern int arch_smp_init(void);
+extern int arch_cpu_init(int cpu, struct dt_device_node *dn);
+extern int arch_cpu_up(int cpu);
+
+/* Secondary CPU entry point */
+extern void init_secondary(void);
+
extern void smp_clear_cpu_maps (void);
extern int smp_get_max_cpus (void);
#endif
+
/*
* Local variables:
* mode: C