From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: [PATCH] xen: arm: enable aborts on all physical processors. Date: Thu, 25 Apr 2013 15:45:50 +0100 Message-ID: <1366901150-26676-1-git-send-email-ian.campbell@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: tim@xen.org, Ian Campbell , stefano.stabellini@eu.citrix.com List-Id: xen-devel@lists.xenproject.org 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 --- xen/arch/arm/domain_build.c | 2 -- xen/arch/arm/setup.c | 1 + xen/arch/arm/smpboot.c | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c index 81a759c..1913f87 100644 --- a/xen/arch/arm/domain_build.c +++ b/xen/arch/arm/domain_build.c @@ -455,8 +455,6 @@ int construct_dom0(struct domain *d) } #endif - local_abort_enable(); - return 0; } diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index cfe3d94..9be1fc9 100644 --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -473,6 +473,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 bd353c8..507936d 100644 --- a/xen/arch/arm/smpboot.c +++ b/xen/arch/arm/smpboot.c @@ -177,6 +177,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()); -- 1.7.2.5