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

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



Hello Vlad,

Thank you for the patch series.

I will upstream it tomorrow.

Thanks & Regards
Sharan

On 4/15/19 3:23 PM, Vlad-Andrei BĂDOIU (78692) wrote:
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

Changes from v2:
*) Solved checkpatch issues in virtio_bus.h and
xenbus.h
*) Renamed /linuxu/arm/link64.lds to link.lds
*) Changed from CONFIG_ARCH_X86_64 to
CONFIG_ARCH_ARM_32
*) Moved application constructors at the beginning of
main_thread_func

Changes from v3:
*) Solved checkpath errors in plat/linuxu/arm/link.lds
and plat/linuxu/x86/link64.lds
*) Moved pre-init calls in main_thread_func before
application constructor calls

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                        | 48 ++++++++++-------
  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 | 13 +++--
  plat/kvm/arm/link64.lds.S                |  8 +++
  plat/linuxu/Linker.uk                    |  2 +
  plat/linuxu/arm/link.lds                 | 11 ++++
  plat/linuxu/x86/link64.lds               |  6 +++
  plat/xen/arm/link32.lds                  |  8 +++
  plat/xen/include/xenbus/xenbus.h         | 18 ++++---
  15 files changed, 190 insertions(+), 39 deletions(-)
  create mode 100644 include/uk/ctors.h
  create mode 100644 plat/linuxu/arm/link.lds
  create mode 100644 plat/linuxu/x86/link64.lds


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