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

Re: [Xen-devel] [PATCH v4 10/17] xen: arm: define guest virtual platform in API headers

On 11/12/2013 05:39 PM, Ian Campbell wrote:
The tools and the hypervisor need to agree on various aspects of the guest
environment, such as interrupt numbers, memory layout, initial register values
for registers which are implementation defined etc. Therefore move the
associated defines into the public interface headers, or create them as

This just exposes the current de-facto standard guest layout, which may be
subject to change in the future. This deliberately does not make the guest
layout dynamic since there is currently no need.

These values should not be exposed to guests, they should find these things
out via device tree or should not be relying on implementation defined

Various bits of the hypervisor needed to change to configure dom0 with the real
platform values while using the virtual platform configuration for guests.
Arrange for this where appropriate and plumb through as needed.

We also need to expose some 64-bit values (e.g. PSR_GUEST64_INIT) for the
benefit of 32 bit toolstacks building 64 bit guests.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
v4: dropped a spurious aarch64 ifdef
     improved some comments and expand the commit message to clarify that this
     is just implementing the current static de-facto setup.
     put back PSR_GUEST32_INIT which disapeared somewhere along the line
  tools/libxc/xc_dom_arm.c        |    4 +--
  xen/arch/arm/domain.c           |    8 ++++--
  xen/arch/arm/domain_build.c     |   13 +++++----
  xen/arch/arm/gic.c              |   21 +++++++++-----
  xen/arch/arm/psci.c             |    2 +-
  xen/arch/arm/traps.c            |    2 +-
  xen/arch/arm/vtimer.c           |   13 ++++++---
  xen/include/asm-arm/domain.h    |    1 +
  xen/include/asm-arm/event.h     |    3 +-
  xen/include/asm-arm/gic.h       |    3 --
  xen/include/asm-arm/processor.h |    7 -----
  xen/include/asm-arm/psci.h      |    5 ----
  xen/include/public/arch-arm.h   |   58 +++++++++++++++++++++++++++++++--------
  13 files changed, 90 insertions(+), 50 deletions(-)


diff --git a/xen/include/asm-arm/domain.h b/xen/include/asm-arm/domain.h
index 67bfbbc..53847a9 100644
--- a/xen/include/asm-arm/domain.h
+++ b/xen/include/asm-arm/domain.h
@@ -112,6 +112,7 @@ struct arch_domain
          spinlock_t                  lock;
      } vuart;

+    int evtchn_irq;

IRQ code uses unsigned int. Can you use unsigned int also here?

With this minor change:

Acked-by: Julien Grall <julien.grall@xxxxxxxxxx>

  }  __cacheline_aligned;

  struct arch_vcpu


Julien Grall

Xen-devel mailing list



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