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

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



This patch series adds a section called ukplat_ctortab to the
Unikraft binaries. This section contains a NULL-terminated list
of function pointers to constructors and is sorted by priority.
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.
For instance, driver libraries could use this mechanism to
register themselves to a bus driver.

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

 include/uk/essentials.h   |   6 +++
 include/uk/plat/ctors.h   |  84 +++++++++++++++++++++++++++++++++++
 lib/ukboot/boot.c         |   9 ++++
 plat/kvm/x86/link64.ld    |  25 ++++++++++-
 plat/linuxu/Linker.uk     |  11 ++++-
 plat/linuxu/arm/link32.ld | 106 ++++++++++++++++++++++++++++++++++++++++++++
 plat/linuxu/x86/link64.ld | 109 ++++++++++++++++++++++++++++++++++++++++++++++
 plat/xen/arm/link32.ld    |  24 ++++++++++
 plat/xen/x86/link64.ld    |  24 ++++++++++
 9 files changed, 395 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®.