[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |