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

[Minios-devel] [UNIKRAFT PATCH 0/3] Introduce Unikraft system constructors



This patch introduces a new type of constructors for the unikraft 
internal libraries. The old constructors are now used as 
application constructors (eg. for the C++ standard library) and 
called before entering main.

This patch is based on a the work done by Simon Kuenzer from
here [1].

This patch series adds an array called ukplat_ctortab to the
Unikraft binaries. This array is NULL-terminated and contains
function pointers to constructors. It is populated during link
time.

Libraries can register a function to it by using the new macro
called UK_CTOR_FUNC (provided with include/uk/ctors.h).

[1] 
https://lists.xenproject.org/archives/html/minios-devel/2018-02/msg00066.html 

Vlad-Andrei Badoiu (3):
  plat/*: Introduce unikraft internal constructors
  lib/ukboot: Call internal constructors
  lib,plat/*: Update the existing constructor calls

 include/uk/ctors.h                       | 68 ++++++++++++++++++++++++
 lib/ukboot/boot.c                        | 26 +++++----
 lib/ukbus/include/uk/bus.h               | 11 ++--
 lib/ukswrand/mwc.c                       |  8 +--
 lib/vfscore/fd.c                         |  5 +-
 lib/vfscore/main.c                       |  5 +-
 plat/common/include/pci/pci_bus.h        |  9 +++-
 plat/common/x86/link64.lds               |  9 ++++
 plat/drivers/include/virtio/virtio_bus.h | 19 ++++---
 plat/kvm/arm/link64.lds.S                |  8 +++
 plat/xen/arm/link32.lds                  |  8 +++
 plat/xen/include/xenbus/xenbus.h         | 17 +++---
 12 files changed, 161 insertions(+), 32 deletions(-)
 create mode 100644 include/uk/ctors.h

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