[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 04/17] xen: arm: support building a 64-bit dom0 domain



On Mon, 2013-07-29 at 19:29 +0100, Julien Grall wrote:
> On 07/29/2013 01:20 PM, Ian Campbell wrote:
> > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> > Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> 
> My apologies, I didn't give a try of this patch series until now.
> This patch breaks DOM0 boot on the Arndale Board.

No need to apologise, this was entirely my fault: I had dom0_vcpus=1 in
my command line and didn't realise/had forgotten.

> > @@ -598,6 +596,11 @@ int construct_dom0(struct domain *d)
> >  
> >      if ( is_pv32_domain(d) )
> >      {
> > +        regs->cpsr = PSR_GUEST_INIT|PSR_MODE_SVC;
> > +
> > +        /* Pretend to be a Cortex A15 */
> > +        d->arch.vpidr = 0x410fc0f0;
> 
> It's not related to the bug. But why do you fake the VPIDR for each
> 32-bits guest even on real 32-bits hardware?

That's a total brainfart on my part.

Actually I think it is pretty bogus even for 32-bit guests on 64-bit
hardware, there is no reason to lie about the underlying CPU if it
supports AArch32 EL1 (which it must, or we wouldn't be running the
kernel). All this lie will do is confuse the kernel into applying the
wrong set of errata etc.

8<------------------------

From 7292558249ad3da666adb32c5fbe10618a309957 Mon Sep 17 00:00:00 2001
From: Ian Campbell <ian.campbell@xxxxxxxxxx>
Date: Tue, 30 Jul 2013 09:42:06 +0100
Subject: [PATCH] xen: arm: do not pretend to be a Cortex-A15 when running 
32-bit guests

It is definitely wrong to do this when running on 32-bit hardware but even
when running on 64-bit hardware it's not really necessary and may cause more
harm than good if the underlying processor is not all that similar to an A15.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
 xen/arch/arm/domain_build.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index a9292e6..582eeae 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -604,9 +604,6 @@ int construct_dom0(struct domain *d)
     {
         regs->cpsr = PSR_GUEST32_INIT;
 
-        /* Pretend to be a Cortex A15 */
-        d->arch.vpidr = 0x410fc0f0;
-
         /* FROM LINUX head.S
          *
          * Kernel startup entry point.
-- 
1.7.2.5




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.