|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 25/45] xen: arm: separate guest user regs from internal guest state.
On Thu, 2013-02-14 at 13:10 +0000, Tim Deegan wrote:
> So this ends up with two different layouts for core regs, one public and
> one private, both of which have the padding/unions to allow 64-bit and
> 32-bit to coexist. Can we really not re-use them?
The 32-bit internal version doesn't have padding because that makes
entry.S hellish, and wastes a bunch of hypervisor memory.
>
> At 15:56 +0000 on 23 Jan (1358956591), Ian Campbell wrote:
> > +#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
> > +# ifdef __aarch64__
> > +/* Anonymous union includes both 32- and 64-bit names (e.g., r0/x0). */
> > +# define __DECL_REG(n64, n32) union { \
> > + uint64_t n64; \
> > + uint32_t n32; \
> > + }
> > +# else
> > +/*
> > + * Include a 64-bit padding field so that the layout is the same
> > + * between 32- and 64-bit hypervisors.
> > + */
> > +# define __DECL_REG(n64, n32) union { \
> > + uint64_t __pad_##n64; \
> > + uint32_t n32; \
> > + }
> > +# endif
>
> On x86, a 32-bit toolstack can control 64-bit VMs. We might want to
> allow that on arm64 as well, so I'm not sureethe __pad prefix is useful.
Yes, we absolutely should support this, I'd forgotten about it when I
wrote this...
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |