Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

Unikraft

We are developing Unikraft, a fast, secure and opensource unikernel SDK for extreme specialization.
Collective - Host: opensource - https://opencollective.com/unikraft - Website: https://t.co/W6HHOLeiUN - Code: https://github.com/unikraft/unikraft

lib/nolibc: Add `__errno_location` implementation

At link time, objects such as the ones derived from `gcov` which comes
with `gcc-13` require thi...

github.com/unikraft/unikraft - e4a6712e82d64fb9483a14fff99fe3292b30f1bf authored about 1 year ago by Eduard Mihailescu <[email protected]>
lib: Remove dirent64-related build warnings

Using Musl and the dirent64 structure causes build warnings. This is
because certain source code...

github.com/unikraft/unikraft - 018fe1a4c408a2ca41beac79af95d7f2ef5794bf authored about 1 year ago by Tiago Andre Goncalves Oliveira <[email protected]>
plat/kvm: Fix typo in configuration variable

Remove a redundant `KVM_` in order to reference `KVM_KERNEL_SERIAL_CONSOLE`
when deciding if a s...

github.com/unikraft/unikraft - 4cce8306abb8191d96ce2c14c72623db934eaa6d authored about 1 year ago by Robert Kuban <[email protected]>
Makefile: Fix support for external platforms

Set `KCONFIG_EPLAT_DIRS` to the list of external platforms `$(P)` instead
of `$(E)`, which is no...

github.com/unikraft/unikraft - 30f63e93b1965d6c823eaa8b28f90733d9771975 authored about 1 year ago by Robert Kuban <[email protected]>
plat: Migrate VIRTIO headers to drivers/virtio/

Migrate include folder to the newly introduced VIRTIO drivers
subsystem.

Signed-off-by: Rares M...

github.com/unikraft/unikraft - 3ed241395a73db624fe3f514c8ad1fdae237313b authored about 1 year ago by Rares Miculescu <[email protected]>
plat: Migrate VIRTIO 9P driver to drivers/virtio/

Migrate the VIRTIO 9P driver to the newly introduced VIRTIO drivers
subsystem.

Signed-off-by: R...

github.com/unikraft/unikraft - 6454bd641cf296099567777e7da19da24ba883ab authored about 1 year ago by Rares Miculescu <[email protected]>
plat: Migrate VIRTIO BUS driver to drivers/virtio/

Migrate VIRTIO BUS driver to the newly introduced VIRTIO drivers
subsystem.

Signed-off-by: Rare...

github.com/unikraft/unikraft - 9c3759a9efb573acf31ed5f6fbdb261536955a00 authored about 1 year ago by Rares Miculescu <[email protected]>
plat: Migrate VIRTIO NET driver to drivers/virtio/

Migrate VIRTIO NET driver to the newly introduced VIRTIO drivers
subsystem.

Signed-off-by: Rare...

github.com/unikraft/unikraft - 40bc6445aa50ba01bf915a1d1aa585cdac2e8467 authored about 1 year ago by Rares Miculescu <[email protected]>
plat: Introduce VIRTIO to drivers subsystem

Introduce VIRTIO to newly introduced drivers subsystem.

Signed-off-by: Rares Miculescu <micules...

github.com/unikraft/unikraft - 8aaa30eb989bb40884be621615b9812eff9bb957 authored about 1 year ago by Rares Miculescu <[email protected]>
plat/kvm: Update `kvm/Config.uk` and `kvm/Makefile.uk`

Remove VIRTIO from `kvm/Makefile.uk` and
update VIRTIO drivers on KVM:

* Enable the VIRTIO PCI ...

github.com/unikraft/unikraft - 3de0f9a0ad7dbaf4c07cbdc21320d19d0a06869b authored about 1 year ago by Rares Miculescu <[email protected]>
plat: Migrate VIRTIO PCI driver to drivers/virtio/

Migrate VIRTIO PCI driver to the newly introduced VIRTIO drivers
subsystem.

Signed-off-by: Rare...

github.com/unikraft/unikraft - b1cb319360eae71286858645de1a2f78a779d4a1 authored about 1 year ago by Rares Miculescu <[email protected]>
drivers/virtio: Update include guards

Update include guards to the drivers convention.

Signed-off-by: Rares Miculescu <miculescur@gma...

github.com/unikraft/unikraft - 78ddbc6d11d9fa71fd9246910839ead13c6a5122 authored about 1 year ago by Rares Miculescu <[email protected]>
plat: Migrate VIRTIO RING driver to drivers/virtio/

Migrate VIRTIO RING driver to the newly introduced VIRTIO drivers
subsystem.

Signed-off-by: Rar...

github.com/unikraft/unikraft - b08fd28116496d55488904d52149a035f65b6ed3 authored about 1 year ago by Rares Miculescu <[email protected]>
lib/ukofw: Fix configuration dependencies

Replace `depends on` with `select` for `LIBFDT` to allow
chained dependency resolution.

Signed-...

github.com/unikraft/unikraft - 5d304c915d1f73d22fd8cc15ccdd3e95261d26bf authored about 1 year ago by Rares Miculescu <[email protected]>
drivers/ukbus: Add `HAVE_PCI`

Add `HAVE_PCI` to limit menuconfig PCI options to
platforms that provide this feature.

Signed-o...

github.com/unikraft/unikraft - c87ecd64c25135fa75d1b643ab889fc2f61822f5 authored about 1 year ago by Rares Miculescu <[email protected]>
plat: Migrate VIRTIO MMIO driver to drivers/virtio/

Migrate VIRTIO MMIO driver to the newly introduced VIRTIO drivers
subsystem.

Signed-off-by: Rar...

github.com/unikraft/unikraft - d1e3eef4633aa2b9ae58c5aa3ac763c93f352240 authored about 1 year ago by Rares Miculescu <[email protected]>
plat: Migrate VIRTIO BLK driver to drivers/virtio/

Migrate VIRTIO BLK driver to the newly introduced VIRTIO drivers
subsystem.

Signed-off-by: Rare...

github.com/unikraft/unikraft - 52a6ea2aedcef9075ebcb150b25b40c4857e5609 authored about 1 year ago by Rares Miculescu <[email protected]>
drivers/virtio: Add `VIRTIO_DEVICE`

Create `VIRTIO_DEVICE` to avoid typing all devices one by one.

Signed-off-by: Rares Miculescu <...

github.com/unikraft/unikraft - 631b4f96f974dd499b2557ac56b2f50074069413 authored about 1 year ago by Rares Miculescu <[email protected]>
lib/9pfs: Add check for `NULL` `data` in `uk_9pfs_parse_options`

The `mount` system call may actually allow ignoring the `data`
argument depending on the usecase...

github.com/unikraft/unikraft - 4166fbe6f363908ccbc0fb58ac37a3e748aed6ea authored about 1 year ago by Sergiu Moga <[email protected]>
lib/9pfs: Remove `__unused` from `uk_9pfs_parse_options`'s `data`

Since `uk_9pfs_parse_options` actually processes `data` it is actually
used, so remove this fals...

github.com/unikraft/unikraft - 7b3da8e85e5c5ef875c9bc10c704f4a98df0a5ee authored about 1 year ago by Sergiu Moga <[email protected]>
arch/ctx.h: Update ctx members declaration order

Out-of-order designated initialization is not allowed in C++, so change
the `ctx` declaration or...

github.com/unikraft/unikraft - 64e5443f3fee471c12b017cbd26b39c6b342417c authored about 1 year ago by Stefan Jumarea <[email protected]>
doc: Add KIT to ADOPTERS.md

Signed-off-by: Lukas Werling <[email protected]>
Reviewed-by: Razvan Deaconescu <razvand@uni...

github.com/unikraft/unikraft - a45354b42b3295a91be7474fd42335890e0f0d5c authored about 1 year ago by Lukas Werling <[email protected]>
drivers/ukbus/pci: Memset dummy_imask using size not element count

The call of memset in the initialization of dummy_imask in the fdt
irq parser of pci_ecam would ...

github.com/unikraft/unikraft - b5c68c8e70b09ce47bec66afe00f767fb3e42947 authored about 1 year ago by Michalis Pappas <[email protected]>
plat: Migrate the platform bus driver to drivers/ukbus/

Migrate the platform bus driver to the newly introduced ukbus drivers
subsystem.

Notice that th...

github.com/unikraft/unikraft - ee3c3af2b90e45055214d6c20bcfc88d7d982ba2 authored about 1 year ago by Michalis Pappas <[email protected]>
plat/kvm: Enable the PCI driver by default

Enable LIBUKBUS_PCI on all KVM VMMs. That will be eventually replaced
by VIRTIO_PCI, yet we add ...

github.com/unikraft/unikraft - 972443db8fc4b9c3357a4c0f754aa6d13bdd2455 authored about 1 year ago by Michalis Pappas <[email protected]>
drivers/ukbus/pci: Fix checkpatch styling issues

Fix some coding style issues reported by checkpatch
about space after cast on arm64.

Signed-off...

github.com/unikraft/unikraft - 64262774d88a7cfd32ac122b78f07baef91f237f authored about 1 year ago by Michalis Pappas <[email protected]>
drivers/ukbus/pci: Fix result check of drv->add_dev() operation

Fix a bug in pci_ecam where a check against the result of drv->add_dev()
would happen outside th...

github.com/unikraft/unikraft - aab41b3957af7b592ba3adc1dc10f54614579414 authored about 1 year ago by Michalis Pappas <[email protected]>
plat: Migrate PCI bus driver to drivers/ukbus/

Introduce the ukbus drivers subsystem and migrate the PCI driver from
plat/common.

Notice that ...

github.com/unikraft/unikraft - ea5bb92ed57903cead17298319de76d67c9f7f30 authored about 1 year ago by Michalis Pappas <[email protected]>
drivers/ukbus/pci: Update include guards

Update include guards to the drivers conventions and add guards for
linkage with C++.

Signed-of...

github.com/unikraft/unikraft - c0830eed178adae369fcd79802aef7c6860c9482 authored about 1 year ago by Michalis Pappas <[email protected]>
drivers: Update includes to the new PCI bus driver headers path

With the PCI driver being migrated to the ukbus drivers subsystem
its headers path and names hav...

github.com/unikraft/unikraft - 129714cd7be8a5e11355ee055ae3be4ceb1f417c authored about 1 year ago by Michalis Pappas <[email protected]>
plat/kvm: Enable the platform bus by default on arm64

Enable the platform bus driver on all KVM VMMs for arm64.

Signed-off-by: Michalis Pappas <micha...

github.com/unikraft/unikraft - 334251f2bb067f38ed0efec5087aec04a90fbf5a authored about 1 year ago by Michalis Pappas <[email protected]>
plat/kvm: Update Kconfig options to use LIBUKBUS_PCI

The migration of PCI to the drivers subsystem has caused the update
of its Kconfig options accor...

github.com/unikraft/unikraft - b74e7f8f166ebc20f65d09d63c26334e49dc6673 authored about 1 year ago by Michalis Pappas <[email protected]>
drivers/ukbus/platform: Update include guards

Update include guards to the drivers convention and add guards for
linkage with C++.

Signed-off...

github.com/unikraft/unikraft - 9fc1ae9a448fe22a5cd9de7edbcf38e4550b3201 authored about 1 year ago by Michalis Pappas <[email protected]>
drivers: Update includes to the new platform bus headers path

With the platform bus driver being migrated to the ukbus drivers subsystem
its headers path and ...

github.com/unikraft/unikraft - 2815208c6aec9813dd5cc4496e466bd763a4cbcb authored about 1 year ago by Michalis Pappas <[email protected]>
drivers: Move GIC to drivers/ukintctlr

Migrate GIC to newly introduced drivers subsystem.

Signed-off-by: Rares Miculescu <miculescur@g...

github.com/unikraft/unikraft - 0014cf34ec27ad2ec5afb156328ce98cef764481 authored about 1 year ago by Rares Miculescu <[email protected]>
lib: Add ukintctlr as library

Move the API from `plat/kvm/` into `lib/`.

Signed-off-by: Rares Miculescu <[email protected]...

github.com/unikraft/unikraft - 0913cc341699636ba1be3b7fa3a830edfc1c76b8 authored about 1 year ago by Rares Miculescu <[email protected]>
plat: Move GIC from plat/drivers

Migrate GIC to newly introduced drivers subsystem.

Signed-off-by: Rares Miculescu <miculescur@g...

github.com/unikraft/unikraft - 245a68292a40ccb35f56ea8023c824fba39189e5 authored about 1 year ago by Rares Miculescu <[email protected]>
build: Fix stdout descriptor duplication in config-submenu.sh on linux

The original way to duplicate stdout to a new file descriptor fails on
Ubuntu 22.04 with error:
...

github.com/unikraft/unikraft - bc8285577076fe75838b055a5dc2a41c1b593beb authored about 1 year ago by Michalis Pappas <[email protected]>
build: Introduce drivers subsystem

This commit adds a drivers subsystem to Unikraft. Drivers are placed
under the top-level `driver...

github.com/unikraft/unikraft - a58a56e89371069a0096f9c741980024efcf4594 authored about 1 year ago by Michalis Pappas <[email protected]>
lib/ukofw: Move ofw into lib/

Move ofw driver from plat/drivers to lib/ukofw.
Create and update configuration files for migrat...

github.com/unikraft/unikraft - 2ebfa32b8cf758f19fbdb8ee5c06a433b6eb85e6 authored about 1 year ago by Rares Miculescu <[email protected]>
plat: Move ofw from plat/drivers/

Move ofw driver from plat/drivers/ into lib/.
Update files that depend on headers from the drive...

github.com/unikraft/unikraft - b7c584fe2973687de5a94adf2d9f7591259dd93d authored about 1 year ago by Rares Miculescu <[email protected]>
Release: v0.14.0 Atlas

Signed-off-by: Razvan Deaconescu <[email protected]>
Signed-off-by: Marc Rittinghaus <marc@uni...

github.com/unikraft/unikraft - 70bc0af0bd1c74b3af3c0584d7b7373dc42b2ce7 authored about 1 year ago by Razvan Deaconescu <[email protected]>
lib/uknetdev: Collect stats and export via uk_store

Collect per-interface statistics and export them as dynamic
uk_store objects.

Signed-off-by: Ce...

github.com/unikraft/unikraft - fd6738104b7d0c4bc54437bc1c75ac91b8e46bfc authored about 1 year ago by Michalis Pappas <[email protected]>
lib/ukalloc: Remove deprecated cookie parameter from static entry definitions

Update calls to UK_STORE_STATIC_ENTRIES to remove the deprecated
cookie parameter.

Signed-off-b...

github.com/unikraft/unikraft - 6717c2b25539e9df6466934ee240137f6b26224d authored about 1 year ago by Michalis Pappas <[email protected]>
lib/ukstore: Lookup entries by id

Introduce an id property to uk_store entries and replace name with id
on lookup operations, to a...

github.com/unikraft/unikraft - 737b68420620b84c54a9539cee0fd87fbff8eba0 authored about 1 year ago by Michalis Pappas <[email protected]>
lib/ukstore: Remove cookie from static entries

Remove cookie from static uk_store entries. This is in anticipation of
dynamic entries that prov...

github.com/unikraft/unikraft - 1de9465d9dc1a0aadab30ad9cc41ab04e5a83f61 authored about 1 year ago by Michalis Pappas <[email protected]>
lib/ukalloc: Add entry IDs and update static entry definitions

Introduce header for definitions related to uk_store. Add
entry IDs for stats tracked by uk_allo...

github.com/unikraft/unikraft - 2f10c56561a904357c7785fac450ddee4120607a authored about 1 year ago by Michalis Pappas <[email protected]>
lib/ukstore: Add README.md

Signed-off-by: Michalis Pappas <[email protected]>
Reviewed-by: Simon Kuenzer <simon@unikraft...

github.com/unikraft/unikraft - 3026583ac4e577eaf006eeaf79f659001d0f3e8a authored about 1 year ago by Michalis Pappas <[email protected]>
lib/ukstore: Introduce dynamic API

This commit adds dynamic entry support to uk_store. Libraries can
dynamically register uk_store ...

github.com/unikraft/unikraft - c3c660851fb6f91ddc65e396ab6dec17b1fe6f32 authored about 1 year ago by Cezar Craciunoiu <[email protected]>
plat/drivers/virtio: Fix virtio_9p tag read

Swap the last two arguments of virtio_9p_feature_negotiate's first
call to virtio_config_get. As...

github.com/unikraft/unikraft - 21511f461de1a786786a4e83eca4cef8f48d683b authored about 1 year ago by Xingjian Zhang <[email protected]>
lib/posix-environ: Remove unused variable warnings

If an environment variable is not set, the
`DECLARE_LIBPOSIX_ENVIRON_ENV_VAR` macros end up decl...

github.com/unikraft/unikraft - 4a5d17337ad24d9fbc00321401bdfca368e6c940 authored about 1 year ago by Sergiu Moga <[email protected]>
plat/kvm/x86: Ensure that lxboot initrd/cmdl regions are aligned

All memory region descriptors must be aligned. Therefore, ensure
that the initrd and command-lin...

github.com/unikraft/unikraft - 65ba7213e3732ccdecd1ee7db6f1cbddb131277c authored about 1 year ago by Sergiu Moga <[email protected]>
support/qemu-guest: Workaround for TCG/x86 and Unikraft paging

Limits QEMU PC machine model up to version 7.0 (pc-i440fx-7.0) for
x86. This is primarily done t...

github.com/unikraft/unikraft - a0d33c97606fa10f4b0d0e12fabc52bc3146fd6a authored about 1 year ago by Simon Kuenzer <[email protected]>
lib/vfscore: Remove readdir_r result from TLS

The `result` structure of the `readdir_r` function will not need to be
part of the TLS, the `ent...

github.com/unikraft/unikraft - 43ee3b3930d9a6d05fafc1f08d16d3be3480a3e3 authored about 1 year ago by Stefan Jumarea <[email protected]>
lib/vfscore: Add non-largefile variant for dirent

Unikraft defines the `dirent` structure as identical to `dirent64`.
This works fine if not using...

github.com/unikraft/unikraft - 2ea08f394205f703e926df6b974d24865a8b1b58 authored about 1 year ago by Stefan Jumarea <[email protected]>
plat/kvm/arm: Use length when clean/invalidating cache in `KVM` entry

Fix second argument of [clean_and_]invalidate_dcache_range in `KVM`
entry to use the length of t...

github.com/unikraft/unikraft - 796b246902a32d5bd76ba0f6f69ec2f0d521d12d authored about 1 year ago by Sergiu Moga <[email protected]>
plat/drivers: Add two configurations to ns16550

The register shift of ns16550 is hard-coded in the driver, but it does
not match the hardware on...

github.com/unikraft/unikraft - df423aa25ec0e1f4a6dfd2f969fb43f684ec8667 authored about 1 year ago by Xingjian Zhang <[email protected]>
plat/common/arm: Do not use a barrier on every invalidation

The current implementation of clean and invalidate by region uses
a barrier after every cache li...

github.com/unikraft/unikraft - 08db3e412c0a1367d22e7f03d4f98aa46233a6ca authored about 1 year ago by Michalis Pappas <[email protected]>
plat/kvm/arm: Do not clean & invalidate the cache after enabling the MMU

To maximize boot performance we only invalidate the cache for regions
accessed before enabling t...

github.com/unikraft/unikraft - f8cf67399ab8c5b2cbf4f2a50ebbbd5acfa8c4f5 authored about 1 year ago by Michalis Pappas <[email protected]>
plat/kvm: Do not unconditionally clean and invalidate the cache

The arm64 linux boot protocol provides the requirements for
the system's state before jumping in...

github.com/unikraft/unikraft - a3c74da53303ff1eab828d2c753a8624fddec7bf authored about 1 year ago by Michalis Pappas <[email protected]>
lib/posix-environ: Ensure that compiled-in strings are writable

Previously, the elements of `__init_env` would be compile-in strings
that would correspond to `C...

github.com/unikraft/unikraft - ad856986c86b3b4fdf78be76582530c96ec47cb1 authored about 1 year ago by Sergiu Moga <[email protected]>
plat/common: Align TLS sections to PAGE_SIZE

`mkbootinfo.py` takes each ELF segment and aligns it to PAGE_SIZE to
convert it to a `struct ukp...

github.com/unikraft/unikraft - 968b68f343c0971f486b42a31239301ed8daacd9 authored about 1 year ago by Sergiu Moga <[email protected]>
plat/kvm: Enable 8250 / NS16550

Update the KVM configuration to enable the 8250 / NS16550 UART driver.
This driver is selected w...

github.com/unikraft/unikraft - e3e1cb63f0311d6c3c1ed6b7f0468f8ac51580fb authored about 1 year ago by Michalis Pappas <[email protected]>
plat/kvm: Check return code of all memory region inserting methods

Make sure that we do check the return codes of all of the memory region
inserting methods so tha...

github.com/unikraft/unikraft - 62827fe30c0954fc2f4fb3d81fe86fd3db5599ab authored about 1 year ago by Sergiu Moga <[email protected]>
build: Adjust fixdep to the changed config.h location

PR unikraft/unikraft#1034 moved the header to a different location, causing
full rebuilds for ev...

github.com/unikraft/unikraft - 5056034b699e6349263ed55d2bb358bde2d0c2fa authored about 1 year ago by Marco Schlumpp <[email protected]>
plat/common: Increase granularity of hardcoded legacy high memory

To ensure compatibility with boot protocols that do report the
BIOS System Memory region as a re...

github.com/unikraft/unikraft - 97525927ab1a0ab1721c283d2770fc09fc5ed0f0 authored about 1 year ago by Sergiu Moga <[email protected]>
plat/kvm/arm: Fix default choice in arm64 VMM menu

Fix the default selection of the VMM in Config.uk. Kconfig requires
that the default is defined ...

github.com/unikraft/unikraft - 38d565587d9d4c7bc2532b73a4bc01b1189b8588 authored about 1 year ago by Michalis Pappas <[email protected]>
build: Use -fcf-protection for GCC >= 8 or Clang >= 7

Signed-off-by: Andrei Tudor TOPALĂ <[email protected]>
Reviewed-by: Maria Sfiraiala <maria...

github.com/unikraft/unikraft - bc9a34657b02a40900826fcf707849292e4fba7a authored about 1 year ago by Andrei Tudor TOPALĂ (101668) <[email protected]>
plat/kvm/arm: Fix bootstack base alignment on arm64

280c69559 introduces a regression to the alignment of the
bootstack. Update __libkvmplat_entry t...

github.com/unikraft/unikraft - 51fbc908f270f6f76d4cd6aa6f43fa1ad52c3c00 authored about 1 year ago by Michalis Pappas <[email protected]>
plat/common: Add BIOS system memory in legacy high memory region

Previously, `ukplat_memregion_list_insert_legacy_hi_mem` did not
include the `0xf0000 -> 0x10000...

github.com/unikraft/unikraft - 6d7ee0cb12050170081d023bfb56af830ab90d74 authored about 1 year ago by Sergiu Moga <[email protected]>
plat/kvm/x86: Enable relocation for `Firecracker` `PIE` builds

Previously, `PIE` builds for `Firecracker VMM` would fail at runtime
due to the fact that the st...

github.com/unikraft/unikraft - 08ac9820323068c2b0af565976cc29be06563307 authored about 1 year ago by Sergiu Moga <[email protected]>
plat/kvm: Fix guest hang on `UKPLAT_HALT` during shutdown request

As soon as
commit 170a8a4fb242 ("plat/kvm/shutdown.c: If on a `UEFI` system, rely on Runtime Ser...

github.com/unikraft/unikraft - b59c47ac6f16c5796bf00b8ea677ce8fdba0df51 authored about 1 year ago by Sergiu Moga <[email protected]>
plat/kvm/arm: Add pagetables for Firecracker

The memory map of Firecracker on Arm64 is:

0x0000000000000000 - 0x000000007fffffff Devices:...

github.com/unikraft/unikraft - 65aac2e5cc27fac36c33634cdd14c52d1b72970d authored about 1 year ago by Michalis Pappas <[email protected]>
plat/kvm: Enable Firecracker on arm64

Signed-off-by: Michalis Pappas <[email protected]>
Reviewed-by: Sergiu Moga <sergiu@unikraft....

github.com/unikraft/unikraft - cca7dfd052ff5fcf21f94196ba1f097aa5d9fa7a authored about 1 year ago by Michalis Pappas <[email protected]>
support/scripts: Add script to generate arm64 linux boot header

The Linux arm64 boot protocol [1] prepends the image with a modified
MZ header:

u32 code0; ...

github.com/unikraft/unikraft - bdeef8585d6a0fcac0075c5619baf2e2bd0fa2f0 authored about 1 year ago by Michalis Pappas <[email protected]>
plat/kvm/arm64: Enable lxboot on arm64

Now that all requirements to support the arm64 linux boot protocol
are implemented, enable CONFI...

github.com/unikraft/unikraft - 47f5056eb29b2c8848f45a4391e096c73656f858 authored about 1 year ago by Michalis Pappas <[email protected]>
plat/common: Populate the initrd bootinfo memreg from dtb

Linux arm64 systems obtain the initrd address from the "linux,initrd-start"
and "linux,initrd-en...

github.com/unikraft/unikraft - 92f2b5ff41eb96cf73fbc693649df956b1c87f17 authored about 1 year ago by Michalis Pappas <[email protected]>
plat/kvm/arm: Obtain dtb address from x0 when using lxboot

According to the arm64 linux boot protocol [1] the address of the
fdt blob is passed on x0. This...

github.com/unikraft/unikraft - fc0576bc20d18e2cf6af83719bd341b2ac95286d authored about 1 year ago by Michalis Pappas <[email protected]>
plat/common: Generate an arm64 linux image when LXBOOT is enabled

Update Linker.uk to generate a raw binary image prepended with the
arm64 linux boot header when ...

github.com/unikraft/unikraft - ad562cec28c20854120f52028eac4135be0c5750 authored about 1 year ago by Michalis Pappas <[email protected]>
plat/kvm: Make Kconfig boot protocol option naming consistent

Rename the Kconfig options for QEMU virt and EFI stub to align them
with the rest of boot protoc...

github.com/unikraft/unikraft - ba7fa25697a62a0190251105f7f12fa71e1ed770 authored about 1 year ago by Michalis Pappas <[email protected]>
plat/kvm: Update entry point for LXBOOT on arm64

Update Linker.uk to use the same entry point for both QEMU_VIRT and
LXBOOT protocols.

Signed-of...

github.com/unikraft/unikraft - 893ae5741522bdabbfaa08bd89597009345e7da0 authored about 1 year ago by Michalis Pappas <[email protected]>
plat/kvm/arm: Move image definitions to init.h

In anticipation of additional platforms and boot protocols
on arm64 move image definitions to a ...

github.com/unikraft/unikraft - 7532827c37ce591c2560b593e19c6a93af6a9d2b authored about 1 year ago by Michalis Pappas <[email protected]>
plat/kvm/arm: Enable enumerating secondary cores through `ACPI`

Allow the existence of two ways to enumerate secondary cores:
`ACPI` and `Devicetree`.

Signed-o...

github.com/unikraft/unikraft - 73f83209f3b1d2eecff9f7e51dc4476f889f5e49 authored about 1 year ago by Sergiu Moga <[email protected]>
plat/drivers/gic: Add a method for fetching the `GICD` from `MADT`

Since this applies for both `GICv2` and `GICv3`, implement a generic
method of fetching the uniq...

github.com/unikraft/unikraft - 625bb7a8e06ef47bad196ff4501e98863be71b08 authored about 1 year ago by Sergiu Moga <[email protected]>
plat/drivers/gic: Remove `fdt` argument from initialization methods

Now that we have separated the ways we probe the `GIC` (`Devicetree`
vs `ACPI`) and the `Devicet...

github.com/unikraft/unikraft - 4ff8a4ee4252d4e518d394a6330657eb4bc61fbe authored about 1 year ago by Sergiu Moga <[email protected]>
plat/kvm/arm: Enable fetching of the `PSCI` method through `ACPI`

Add the alternative of fetching the `PSCI` method from `ACPI`'s
`FADT`'s `ARM Boot Flags` field....

github.com/unikraft/unikraft - b0aee57ae9ad1503ee7faa58cd5d53d1d168c072 authored about 1 year ago by Sergiu Moga <[email protected]>
plat/drivers/gic: Enable `GICv2` probing through `ACPI`

If `ACPI` is enabled, rely on it for probing the `GICv2`. Thus, we
need to take two steps for th...

github.com/unikraft/unikraft - 3110f3cb863364e193faa49624ea6a81c4d292c7 authored about 1 year ago by Sergiu Moga <[email protected]>
plat: Enable secondary cores allocation through `ACPI` on `ARM64`

Split secondary cores enumeration in two methods:
- if CONFIG_UKPLAT_ACPI is enabled then get th...

github.com/unikraft/unikraft - 0b02ff343b36203d17eb4461f588cadee07e286a authored about 1 year ago by Sergiu Moga <[email protected]>
plat/drivers/gic: Enable `GICv3` probing through `ACPI`

If `ACPI` is enabled, rely on it for probing the `GICv3`. Thus, we
need to take two steps for th...

github.com/unikraft/unikraft - 6f0198f3878784510dc343b1b953221d06d36846 authored about 1 year ago by Sergiu Moga <[email protected]>
build: Explain OPTIMIZE_PIE

Adds an explanation for the OPTIMIZE_PIE configuration option.

Signed-off-by: Simon Kuenzer <si...

github.com/unikraft/unikraft - 2ee5283ff8f6fc4139b3ad5fe841e554bfca1b22 authored about 1 year ago by Simon Kuenzer <[email protected]>
plat/kvm: Add configuration hint for EFI

Adds an hint in `menuconfig` that appears if the configuration dependencies
are not met for buil...

github.com/unikraft/unikraft - 750096a9238f52a311c725e01747085af4b6bab0 authored about 1 year ago by Simon Kuenzer <[email protected]>
plat/common/x86: Fix `libukreloc` error for non-`PIE` `SMP` builds

After the merge of
commit cf8cc65cb0ae ("plat/kvm/x86: Make SMP init code resolve its own `start...

github.com/unikraft/unikraft - 762cc5db03ece3677bbc64faa084f88b540c8ae9 authored about 1 year ago by Sergiu Moga <[email protected]>
build: Add option to place build objects in a tree

This adds the feature to place build products in a directory tree
mirroring the tree their sourc...

github.com/unikraft/unikraft - 44e7fcd5f371cc88c59481c09837a3a1b400594d authored about 1 year ago by Andrei Tatar <[email protected]>
build: Add library registration for tree build

This change adds `addlib_tree` and `addlib_tree_s` as library
registration functions that enable...

github.com/unikraft/unikraft - ae1cb65410f66666f65befb7f92d9f09d5e90bdb authored about 1 year ago by Andrei Tatar <[email protected]>
build: Add option for dedicated build directory

This change adds the option to place build files in a dedicated
`.../build/` directory under the...

github.com/unikraft/unikraft - 5bdc8d94b9ef6e5ce372e425a68c28273e3b6bb5 authored about 1 year ago by Andrei Tatar <[email protected]>
plat/common/include/x86/acpi: Move `MADT` definition to sdt.h

Since `MADT` is a System Descriptor Table itself, move it to `sdt.h`
and keep in `madt.h` only t...

github.com/unikraft/unikraft - c7b518f6a1fc062786a4ec42539ee46003658184 authored about 1 year ago by Sergiu Moga <[email protected]>
plat/common/x86: Add the `FADT` among the fetched tables

Add the definition for `FADT` and its related structures. Implement
a getter for it and add its ...

github.com/unikraft/unikraft - e40de99d46f997129e518d1fc57eb3dccbd40675 authored about 1 year ago by Sergiu Moga <[email protected]>
plat/common/x86: Re-define ACPI structures

Redefine ACPI structures so that they comply with the coding style
and fix Local SAPIC's wrong d...

github.com/unikraft/unikraft - b9f222cda139246549534bc37512234231501e1e authored about 1 year ago by Sergiu Moga <[email protected]>
plat/common/x86/acpi.c: Generalize checksum verification

Since all structures calculate their checksum in the same manner,
use only one general checksum ...

github.com/unikraft/unikraft - 70cb5d7b82186a514f9b2df4f54258b5f8148a55 authored about 1 year ago by Sergiu Moga <[email protected]>
plat/common/bootinfo: Add `UEFI` System Tables address in `bootinfo`

Allow quick access to the `UEFI` System Tables through a field in
the `bootinfo` structure.

Sig...

github.com/unikraft/unikraft - 64a2dcf05788a0b6000754ec203405c909659a88 authored about 1 year ago by Sergiu Moga <[email protected]>