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

[Xen-devel] [PATCH 0/9] x86: Move the pv hypercall into C



I decided to dust off this series, and found it had been accumulating dust for
18 months.  Oops.

There is no practical change from the point of view of guests, but:

 * There is a net reduction in LoC
 * There is a net reduction in compiled size (according to bloat-o-meter)
 * Easier to maintain/edit/hotpatch

I think there is also now room to simplify how continuations are handled,
but I have tried not to get too carried away yet.

Andrew Cooper (9):
  x86/hypercall: Move some of the hvm hypercall infrastructure into
    hypercall.h
  x86/pv: Support do_set_segment_base() for compat guests
  x86/hypercall: Move the hypercall arg tables into C
  x86/pv: Implement pv_hypercall() in C
  x86/hypercall: Move the hypercall tables into C
  xen/multicall: Rework arch multicall handling
  x86/pv: Merge the pv hypercall tables
  x86/hypercall: Merge the hypercall arg tables
  x86/hypercall: Reduce the size of the hypercall tables

 xen/arch/arm/traps.c               |   3 +-
 xen/arch/x86/Makefile              |   1 +
 xen/arch/x86/hvm/hvm.c             |  33 ++---
 xen/arch/x86/hypercall.c           | 295 +++++++++++++++++++++++++++++++++++++
 xen/arch/x86/trace.c               |  27 ----
 xen/arch/x86/x86_64/asm-offsets.c  |   1 -
 xen/arch/x86/x86_64/compat.c       |   1 -
 xen/arch/x86/x86_64/compat/entry.S | 184 +----------------------
 xen/arch/x86/x86_64/compat/traps.c |   2 -
 xen/arch/x86/x86_64/entry.S        | 173 +---------------------
 xen/arch/x86/x86_64/mm.c           |   3 +
 xen/arch/x86/x86_64/traps.c        |   1 +
 xen/common/kernel.c                |   6 -
 xen/common/multicall.c             |   2 +-
 xen/include/asm-arm/multicall.h    |  14 --
 xen/include/asm-x86/hypercall.h    |  65 +++++++-
 xen/include/asm-x86/multicall.h    |  72 ---------
 xen/include/xen/hypercall.h        |  18 ++-
 xen/include/xen/multicall.h        |   3 +-
 19 files changed, 399 insertions(+), 505 deletions(-)
 create mode 100644 xen/arch/x86/hypercall.c
 delete mode 100644 xen/include/asm-arm/multicall.h
 delete mode 100644 xen/include/asm-x86/multicall.h

-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

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