[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH v2 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 Changes from v1: *) Changed to least and highest in ctors.h *) Added support for the constructors un linuxu *) Solved checkpatch errors introduced by the patch Vlad-Andrei BĂDOIU (78692) (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 | 21 +++++--- plat/kvm/arm/link64.lds.S | 8 +++ plat/linuxu/Linker.uk | 2 + plat/linuxu/arm/link64.lds | 11 ++++ plat/linuxu/x86/link64.lds | 6 +++ plat/xen/arm/link32.lds | 8 +++ plat/xen/include/xenbus/xenbus.h | 17 +++--- 15 files changed, 182 insertions(+), 32 deletions(-) create mode 100644 include/uk/ctors.h create mode 100644 plat/linuxu/arm/link64.lds create mode 100644 plat/linuxu/x86/link64.lds -- 2.20.1 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |