[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 2/9] xen/arm: Add more registers for saving and restoring vcpu registers
> -----Original Message----- > From: xen-devel-bounces@xxxxxxxxxxxxx [mailto:xen-devel- > bounces@xxxxxxxxxxxxx] On Behalf Of Ian Campbell > Sent: Thursday, October 10, 2013 7:41 PM > To: Jaeyong Yoo > Cc: Tim Deegan; xen-devel@xxxxxxxxxxxxx > Subject: Re: [Xen-devel] [PATCH v4 2/9] xen/arm: Add more registers for > saving and restoring vcpu registers > > On Fri, 2013-10-04 at 13:43 +0900, Jaeyong Yoo wrote: > > diff --git a/xen/include/public/arch-arm.h > > b/xen/include/public/arch-arm.h index 5d359af..bf6dc9a 100644 > > --- a/xen/include/public/arch-arm.h > > +++ b/xen/include/public/arch-arm.h > > @@ -253,6 +253,41 @@ struct vcpu_guest_context { > > > > uint32_t sctlr, ttbcr; > > uint64_t ttbr0, ttbr1; > > + uint32_t ifar, dfar; > > + uint32_t ifsr, dfsr; > > + uint32_t dacr; > > + uint64_t par; > > + > > +#ifdef CONFIG_ARM_32 > > I'm afraid a per arch ifdef isn't allowed in the include/public tree. > The interface should be identical for both 32 and 64 bit callers. Also > think of 32-on-64 guests etc. > > Also, this struct is guest facing (via VCPUOP_initialise) but many/all of > these new registers are not things which a guest needs to specify via a > hypercall. IOW I think many of them should be part of some toolstack > private save/restore interface. I see, the guest can specify something like sctlr, and ttbr/ttbcr, and the others should be hidden inside hvm save/restore. > > I think x86 has a hvm_hw_cpu struct, which I think seems more appropriate. > Tim, what do you think? > > > + uint32_t mair0, mair1; > > + uint32_t tpidr_el0; > > + uint32_t tpidr_el1; > > + uint32_t tpidrro_el0; > > + uint32_t vbar; > > +#else > > + uint64_t mair; > > + uint64_t tpidr_el0; > > + uint64_t tpidr_el1; > > + uint64_t tpidrro_el0; > > + uint64_t vbar; > > +#endif > > + > > + /* Control Registers */ > > + uint32_t actlr; > > + uint32_t cpacr; > > + > > + uint32_t afsr0, afsr1; > > + > > + uint32_t contextidr; > > + > > + uint32_t teecr, teehbr; /* ThumbEE, 32-bit guests only */ > > + > > +#ifdef CONFIG_ARM_32 > > + uint32_t joscr, jmcr; > > +#endif > > + > > + /* CP 15 */ > > + uint32_t csselr; > > }; > > typedef struct vcpu_guest_context vcpu_guest_context_t; > > DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t); > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |