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

[Minios-devel] [UNIKRAFT PATCH v2 0/4] Provide library constructors



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 UKPLAT_CTOR_FUNC (provided with include/uk/plat/ctors.h).
The bootstrapping library libukboot is executing each of
these functions during boot so that libraries can execute
necessary initialization routines.

Simon Kuenzer (4):
  plat/linuxu: Provider linker scripts (arm, x86_64)
  include/essentials: Provide __used, __section macros
  plat/*: Introduce library constructors
  lib/ukboot: Call library constructors

 include/uk/essentials.h   |   6 +++
 include/uk/plat/ctors.h   |  82 +++++++++++++++++++++++++++++++++++
 lib/ukboot/boot.c         |   9 ++++
 plat/kvm/x86/link64.ld    |  21 +++++++++
 plat/linuxu/Linker.uk     |  11 ++++-
 plat/linuxu/arm/link32.ld | 103 ++++++++++++++++++++++++++++++++++++++++++++
 plat/linuxu/x86/link64.ld | 106 ++++++++++++++++++++++++++++++++++++++++++++++
 plat/xen/arm/link32.ld    |  28 +++++++++++-
 plat/xen/x86/link64.ld    |  21 +++++++++
 9 files changed, 384 insertions(+), 3 deletions(-)
 create mode 100644 include/uk/plat/ctors.h
 create mode 100644 plat/linuxu/arm/link32.ld
 create mode 100644 plat/linuxu/x86/link64.ld

-- 
2.7.4


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