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

[Xen-devel] [RFC 00/10] xen/arm: Implement the hypercall handling in assembly



Hi all,

This patch aims is a first attempt to write the hypercall dispatch in assembly
in order to avoid reloading the hypercall arguments from the stack.

I've posted an early version to get comments and only the ARM64 side has been
implemented.

A branch with the code can be found here:

git://xenbits.xen.org/people/julieng/xen-unstable.git branch asm-hypercall-rfc

Sincerely yours,

Julien Grall (10):
  xen/arm: move lr, push and pop in a separate header
  xen/arm: Drop unused defines in asm/bug.h
  xen/arm: Implement assembly version of WARN/BUG/ASSERT_FAILED...
  xen/arm64: Add an assembly macro for perf counter
  xen/arm: gic_inject: Introduce a local variable to store current
  xen/arm: gic: Allow the LRs to be cleared lazily
  xen/arm: Implement the code to dispatch the hypercall in assembly
  xen/arm64: Implement the hypercall handing fully in assembly
  xen/arm: Remove the C version of do_trap_hypercall
  xen/arm: Factorize the C code to dispatch HVC

 xen/arch/arm/Makefile                 |   1 +
 xen/arch/arm/arm64/Makefile           |   1 +
 xen/arch/arm/arm64/asm-offsets.c      |  11 +++
 xen/arch/arm/arm64/entry.S            | 165 +++++++++++++++++++++++++++++----
 xen/arch/arm/arm64/hypercall.S        |  27 ++++++
 xen/arch/arm/gic.c                    |  17 +++-
 xen/arch/arm/hypercall.S              |  88 ++++++++++++++++++
 xen/arch/arm/traps.c                  | 167 +++++-----------------------------
 xen/include/asm-arm/arm64/asm_defns.h |  62 +++++++++++++
 xen/include/asm-arm/arm64/bug.h       |   4 +
 xen/include/asm-arm/asm_defns.h       |   3 +
 xen/include/asm-arm/bug.h             |  39 ++++++--
 xen/include/asm-arm/domain.h          |   7 +-
 xen/include/asm-arm/hypercall.h       |   9 ++
 xen/include/asm-arm/processor.h       |   3 +
 15 files changed, 432 insertions(+), 172 deletions(-)
 create mode 100644 xen/arch/arm/arm64/hypercall.S
 create mode 100644 xen/arch/arm/hypercall.S
 create mode 100644 xen/include/asm-arm/arm64/asm_defns.h

-- 
2.1.4


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