aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2013-04-25 15:45:50 +0100
committerIan Campbell <ian.campbell@citrix.com>2013-07-19 14:53:46 +0100
commitbbccf0d088d2041d95ede1d59fc195205f932f38 (patch)
tree750369f3b677227c73d585daa9309d87a7f40b2d
parentc57c50c1de759583d5de629fec205254280da4f0 (diff)
downloadxen-bbccf0d088d2041d95ede1d59fc195205f932f38.tar.gz
xen-bbccf0d088d2041d95ede1d59fc195205f932f38.tar.bz2
xen-bbccf0d088d2041d95ede1d59fc195205f932f38.zip
xen: arm: enable aborts on all physical processors.
I'm not sure how this ended up in construct dom0 where it only affects the boot cpu and doesn't logically fit. Enable aborts at the same time as we enable interrupts. I'm not sure what the behaviour of an "abort worthy" operation while aborts are disable is, but it must surely be worse than calling do_unexpected_trap, which is what happens from now on. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Tim Deegan <tim@xen.org>
-rw-r--r--xen/arch/arm/domain_build.c2
-rw-r--r--xen/arch/arm/setup.c1
-rw-r--r--xen/arch/arm/smpboot.c1
3 files changed, 2 insertions, 2 deletions
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 0423b5a654..155b4363b5 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -633,8 +633,6 @@ int construct_dom0(struct domain *d)
}
}
- local_abort_enable();
-
return 0;
}
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index c22972f0de..2f9fdc805e 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -488,6 +488,7 @@ void __init start_xen(unsigned long boot_phys_offset,
arch_init_memory();
local_irq_enable();
+ local_abort_enable();
smp_prepare_cpus(cpus);
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index c7421fc793..5895178213 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -175,6 +175,7 @@ void __cpuinit start_secondary(unsigned long boot_phys_offset,
wmb();
local_irq_enable();
+ local_abort_enable();
printk(XENLOG_DEBUG "CPU %u booted.\n", smp_processor_id());