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

Re: [Xen-devel] [PATCH] xen/arm: trap SMC instructions and inject an UND exception



On Fri, 3 May 2013, Ian Campbell wrote:
> On Fri, 2013-05-03 at 11:12 +0100, Stefano Stabellini wrote:
> > On Fri, 3 May 2013, Ian Campbell wrote:
> > > On Thu, 2013-05-02 at 17:08 +0100, Stefano Stabellini wrote:
> > > > On Thu, 2 May 2013, Ian Campbell wrote:
> > > > > On Thu, 2013-05-02 at 14:53 +0100, Stefano Stabellini wrote:
> > > > > > On Thu, 2 May 2013, Ian Campbell wrote:
> > > > > > > Currently only handles 32 bit guests. The 64-bit exception model 
> > > > > > > is
> > > > > > > considerably different.
> > > > > > > 
> > > > > > > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> > > > > > >
> > > > > > > There are probably other places where injecting UND would be more 
> > > > > > > appropriate
> > > > > > > than killing the guest. It should also be reasonably easy to 
> > > > > > > extend this logic
> > > > > > > to inject DABT and PABT.
> > > > > > > ---
> > > > > > >  xen/arch/arm/traps.c                  |   56 
> > > > > > > ++++++++++++++++++++++++++++++++-
> > > > > > >  xen/include/asm-arm/arm32/processor.h |    4 ++-
> > > > > > >  xen/include/asm-arm/processor.h       |    8 +++++
> > > > > > >  xen/include/public/arch-arm.h         |    1 +
> > > > > > >  4 files changed, 67 insertions(+), 2 deletions(-)
> > > > > > > 
> > > > > > > diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
> > > > > > > index b7487b7..72dddb2 100644
> > > > > > > --- a/xen/arch/arm/traps.c
> > > > > > > +++ b/xen/arch/arm/traps.c
> > > > > > > @@ -59,7 +59,7 @@ void __cpuinit init_traps(void)
> > > > > > >      WRITE_SYSREG((vaddr_t)hyp_traps_vector, VBAR_EL2);
> > > > > > >  
> > > > > > >      /* Setup hypervisor traps */
> > > > > > > -    WRITE_SYSREG(HCR_PTW|HCR_BSU_OUTER|HCR_AMO|HCR_IMO|HCR_VM, 
> > > > > > > HCR_EL2);
> > > > > > > +    
> > > > > > > WRITE_SYSREG(HCR_PTW|HCR_BSU_OUTER|HCR_AMO|HCR_IMO|HCR_TSC|HCR_VM,
> > > > > > >  HCR_EL2);
> > > > > > >      isb();
> > > > > > >  }
> > > > > > 
> > > > > > My recent patch http://marc.info/?l=xen-devel&m=136734156810415 does
> > > > > > this
> > > > > 
> > > > > Right, I should have mentioned that. What do you do with the SMCs? I
> > > > > think we've concluded that undef is the right response?
> > > > 
> > > > I was going to support SMC as a conduit for PSCI calls.
> > > 
> > > I think we have agreed with the PSCI guys that HVC will be a supported
> > > conduit and since that is what we (will) advertise to guests I think
> > > that's all we should support -- there's no need to allow two ways to do
> > > it.
> > 
> > The patch were written before the discussion.
> 
> Right, I missed a "now" out of my first sentence.
> 
> > Now I agree that we can just support HVC and get away with it.
> > I'll update my series.
> 
> ACK. Do you just want to pull this patch in at the head? Or ack it and
> I'll apply as a baseline for you.

OK, I can do that.

> I'm also happy to rebase this over your original (i.e. remove the smc
> support in it) too if you would prefer. Not sure if your current posting
> has other changes required anyway.

I need to repost anyway.

_______________________________________________
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®.