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

[Xen-devel] [PATCH v3 0/11] xen/arm: event channels and shared_info page



Hi all,
this patch series implements support for injecting event channels into
the guest and enables a wider range of hypercalls for ARM guests.

In order to allow more flexibility I modified the hypercall protocol, in
particular the hypercall number is not passed as imm to hvc anymore,
because we might not always know it at compile time.
The hypercall number is now passed on the r12 register.

With this patch series and using the following Linux tree:

git://xenbits.xen.org/people/sstabellini/linux-pvhvm.git vexpress-dt-privcmd-2

I am able to boot dom0, start xenstored and run basic xl commands, like
"xl list" and "xl uptime".
I have added at the beginning of this series few patches that were
previously sent separately (in particular "arm: support fewer LR
registers than virtual irqs").


Changes in v3:

- several fixes to "support fewer LR registers than virtual irqs";

- many more comments to the gic and vgic IRQ queues;

- merge Ian's patch into "shared_info page allocation and mapping";

- do not alloc the shared_info page for the idle domain;

- added "handle dom0_max_vcpus=0 case properly" by Ian, removed the
corresponding patch in my series;

- move XEN_HYPERCALL_TAG to a public header;

- clobber register in the debug build;

- document calling convention;

- check if arm_hypercall_table[regs->r12] != NULL;

- use a PPI for events injection (IRQ 31) and do not request maintenance
interrupts for it whenever possible.


Changes in v2:

- fixed tabs/spaces problem.



Ian Campbell (1):
      arm: handle dom0_max_vcpus=0 case properly

Stefano Stabellini (10):
      arm: rename link to inflight
      arm: fix inflight_irqs list priority ordering
      arm: support fewer LR registers than virtual irqs
      arm: replace list_del and INIT_LIST_HEAD with list_del_init
      arm: shared_info page allocation and mapping
      arm: use r12 to pass the hypercall number
      arm: introduce more hypercalls
      arm: implement flush_tlb_all_local and flush_tlb_local
      arm: remove VGIC_SOFTIRQ
      arm: implement event injection

 xen/arch/arm/Makefile           |    1 +
 xen/arch/arm/domain.c           |   22 ++++++
 xen/arch/arm/domain_build.c     |   11 ++--
 xen/arch/arm/dummy.S            |    1 -
 xen/arch/arm/gic.c              |  151 ++++++++++++++++++++++++++++++++-------
 xen/arch/arm/gic.h              |    7 ++-
 xen/arch/arm/mm.c               |   98 ++++++++++++++++++++++++-
 xen/arch/arm/p2m.c              |   26 +++++++-
 xen/arch/arm/physdev.c          |   27 +++++++
 xen/arch/arm/traps.c            |   40 +++++++---
 xen/arch/arm/vgic.c             |   27 ++------
 xen/include/asm-arm/config.h    |    2 +
 xen/include/asm-arm/domain.h    |   14 ++++-
 xen/include/asm-arm/flushtlb.h  |   23 ++++++-
 xen/include/asm-arm/hypercall.h |    1 +
 xen/include/asm-arm/mm.h        |    4 +
 xen/include/asm-arm/p2m.h       |    9 +++
 xen/include/asm-arm/paging.h    |    3 +
 xen/include/asm-arm/softirq.h   |    3 +-
 xen/include/public/arch-arm.h   |   21 ++++++
 20 files changed, 415 insertions(+), 76 deletions(-)



A git branch based on my previous gic and tools patches is available
here:

git://xenbits.xen.org/people/sstabellini/xen-unstable.git events-3

Cheers,

Stefano

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