xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [RFC 00/10] xen/arm: Implement the hypercall handling in assembly
@ 2015-12-15 17:51 Julien Grall
  2015-12-15 17:51 ` [RFC 01/10] xen/arm: move lr, push and pop in a separate header Julien Grall
                   ` (10 more replies)
  0 siblings, 11 replies; 13+ messages in thread
From: Julien Grall @ 2015-12-15 17:51 UTC (permalink / raw)
  To: xen-devel; +Cc: Julien Grall, ian.campbell, stefano.stabellini

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2015-12-16 11:20 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-15 17:51 [RFC 00/10] xen/arm: Implement the hypercall handling in assembly Julien Grall
2015-12-15 17:51 ` [RFC 01/10] xen/arm: move lr, push and pop in a separate header Julien Grall
2015-12-15 17:52 ` [RFC 02/10] xen/arm: Drop unused defines in asm/bug.h Julien Grall
2015-12-15 17:52 ` [RFC 03/10] xen/arm: Implement assembly version of WARN/BUG/ASSERT_FAILED Julien Grall
2015-12-15 17:52 ` [RFC 04/10] xen/arm64: Add an assembly macro for perf counter Julien Grall
2015-12-15 17:52 ` [RFC 05/10] xen/arm: gic_inject: Introduce a local variable to store current Julien Grall
2015-12-15 17:52 ` [RFC 06/10] xen/arm: gic: Allow the LRs to be cleared lazily Julien Grall
2015-12-15 17:52 ` [RFC 07/10] xen/arm: Implement the code to dispatch the hypercall in assembly Julien Grall
2015-12-15 17:52 ` [RFC 08/10] xen/arm64: Implement the hypercall handing fully " Julien Grall
2015-12-15 17:52 ` [RFC 09/10] xen/arm: Remove the C version of do_trap_hypercall Julien Grall
2015-12-15 17:52 ` [RFC 10/10] xen/arm: Factorize the C code to dispatch HVC Julien Grall
2015-12-15 18:33 ` [RFC 00/10] xen/arm: Implement the hypercall handling in assembly Andrew Cooper
2015-12-16 11:19   ` Ian Campbell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).