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

Re: [Minios-devel] [UNIKRAFT PATCH 0/6] Support for binary system calls (x86_64, KVM for now)


  • To: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
  • From: gaulthier.gain@xxxxxxxxx
  • Date: Thu, 12 Dec 2019 14:45:49 +0100 (CET)
  • Cc: Felipe Huici <felipe.huici@xxxxxxxxx>, minios-devel@xxxxxxxxxxxxx
  • Delivery-date: Thu, 12 Dec 2019 13:45:53 +0000
  • Dkim-filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 750A42012376
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>
  • Thread-index: kv18i66fnozhVVcoUDd6tDfexjPf8Q==
  • Thread-topic: Support for binary system calls (x86_64, KVM for now)

Hi Simon, thanks for this patch series.

----- Mail original -----
De: "Simon Kuenzer" <simon.kuenzer@xxxxxxxxx>
À: minios-devel@xxxxxxxxxxxxx
Cc: "Gaulthier Gain" <gaulthier.gain@xxxxxxxxx>, "Felipe Huici" 
<felipe.huici@xxxxxxxxx>, "Simon Kuenzer" <simon.kuenzer@xxxxxxxxx>
Envoyé: Jeudi 5 Décembre 2019 15:02:16
Objet: [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

 


Rackspace

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