[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH 0/6] Support for binary system calls (x86_64, KVM for now)
This series prepares Unikraft to support binary system calls (`syscall` instruction). This is introduced so that we can implement binary compatibility with Unikraft on top. The patches introduce a Syscall-ABI-independent API for libraries to register system call handlers. Support for trapping `syscall` instructions is implemented first on KVM platform. Other platforms may follow... Simon Kuenzer (6): arch/x86: Move `struct __regs` definition to <uk/arch/lcpu.h> plat/common: Provide cpuid macro for x86 plat/common: Provide rdmsr amd rdmsrl for x86 plat/*: Add binary system call feature and API plat/common: Initialize `syscall`/`sysret` for x86 plat/kvm: System call trap handler (x86_64) arch/x86/x86_64/include/uk/asm/lcpu.h | 64 +++++++++ include/uk/arch/lcpu.h | 4 + .../x86/regs.h => include/uk/plat/syscall.h | 121 +++++++----------- lib/Config.uk | 4 + plat/common/include/uk/plat/common/trace.h | 6 +- plat/common/include/x86/cpu.h | 97 +++++++++++++- plat/common/include/x86/cpu_defs.h | 22 ++++ plat/common/include/x86/traps.h | 2 +- plat/common/x86/syscall.S | 111 ++++++++++++++++ plat/kvm/Config.uk | 2 +- plat/kvm/Makefile.uk | 3 + plat/kvm/x86/cpu_vectors_x86_64.S | 11 +- plat/kvm/x86/setup.c | 4 + plat/linuxu/Config.uk | 1 + plat/xen/Config.uk | 1 + plat/xen/x86/entry64.S | 84 ++++++------ 16 files changed, 402 insertions(+), 135 deletions(-) rename plat/common/include/x86/regs.h => include/uk/plat/syscall.h (19%) create mode 100644 plat/common/x86/syscall.S -- 2.20.1 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |