[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |