aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-arm/platform.h
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2013-09-20 23:29:44 +0100
committerIan Campbell <ian.campbell@citrix.com>2013-09-27 16:39:03 +0100
commitf474d3b4727c838ece492661be420387e4e55866 (patch)
tree101f12f9e2d767c5cebbd028ee8454a414006963 /xen/include/asm-arm/platform.h
parente1dbd62d48ef6b82fd6f4906e37ae1a8f873a2cf (diff)
downloadxen-f474d3b4727c838ece492661be420387e4e55866.tar.gz
xen-f474d3b4727c838ece492661be420387e4e55866.tar.bz2
xen-f474d3b4727c838ece492661be420387e4e55866.zip
xen: arm: implement arch/platform SMP and CPU initialisation framework
Includes an implementation for vexpress using the sysflags interface and support for the ARMv8 "spin-table" method. Unused until "rewrite start of day page table and cpu bring up", split out to simplify review. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Tim Deegan <tim@xen.org> Acked-by: Julien Grall <julien.grall@linaro.org>
Diffstat (limited to 'xen/include/asm-arm/platform.h')
-rw-r--r--xen/include/asm-arm/platform.h9
1 files changed, 9 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);