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

drivers/virtio: Update coding style of virtio_config.h

Checkpatch and other fixes to comply to coding conventions

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

github.com/unikraft/unikraft - 77df0a43c889648179a449c31c85e13520ff22dc authored 11 months ago by Michalis Pappas <[email protected]>
lib/uklibid: Clang-compatible compile option flags

Clang's preprocessor seems to behave differently when computing an integer
based on undefined ma...

github.com/unikraft/unikraft - 3013eeebb8be8d82d5999e656e4ed8aae0225bae authored 11 months ago by Simon Kuenzer <[email protected]>
lib/nolibc: Remove LIBC_SYSCALLS guard in prctl.h

sys/prctl.h in nolibc is using UK_LIBC_SYSCALLS as guard.
This is not required, since the guard ...

github.com/unikraft/unikraft - 55f9a79925a5e8a190e8a0e8b99496d3493cf9c2 authored 11 months ago by Tiago Andre Goncalves Oliveira <[email protected]>
lib/nolibc: Move prctl.h inside nolibc/musl-imported

The "sys/prctl.h" header is specific to "nolibc". Move it from
"lib/posix-process/include/" to "...

github.com/unikraft/unikraft - 75959ee2c5c92491a28b74aee7df2e8db266ae49 authored 11 months ago by Tiago Andre Goncalves Oliveira <[email protected]>
build: Clean-up and removing unused targets, like `config`

This is a small clean-up commit: it removes the unused targets `config`
and `%_defconfig`. Addit...

github.com/unikraft/unikraft - 34acac9653b6dec2050c83984be35e53db727796 authored 11 months ago by Simon Kuenzer <[email protected]>
plat/kvm/x86: Pre-initialize VGA framebuffer `terminal_buffer`

After commit f57ca0bbc402 ("plat/kvm/x86: Make zero page inaccessible"),
early accesses to unini...

github.com/unikraft/unikraft - cc96b298b04072d2b091f9d60b705d00c9f2873d authored 11 months ago by Sergiu Moga <[email protected]>
build: Fix rule that copies `.config` to `build/config`

The rule that copies the current `.config` to the build directory was
intended, among other thin...

github.com/unikraft/unikraft - 5a2f6fea4f75624601eea8fab307876db417a06b authored 11 months ago by Simon Kuenzer <[email protected]>
drivers/virtio/mmio: Add basic support for modern virtio

This commit adds the minimum set of changes required for modern virtio
support.

Signed-off-by: ...

github.com/unikraft/unikraft - 48d3d57ca2428976f5214593ef68badc5c346b21 authored 11 months ago by Michalis Pappas <[email protected]>
build: Recompile on `.config` changes (workaround)

Our build system is still not able to re-trigger the compilation if only
the command line of a c...

github.com/unikraft/unikraft - 8ecdffc7da3b27123cc5c1c01f171e79718e8c2e authored 11 months ago by Simon Kuenzer <[email protected]>
plat/kvm: Use `AllocatePages()` to allocate memory regions in `UEFI`

According to the `UEFI` specifications, `AllocatePool()` is the safest
allocation method, howeve...

github.com/unikraft/unikraft - b60ebfca75825d4ce825147b878471fe94a4c493 authored 11 months ago by Sergiu Moga <[email protected]>
lib/nolibc: Provide symbols for `malloc`, `free`, `calloc`, `realloc`

`posix_memalign` and `memalign`

To ensure that symbols such as malloc, calloc, and free are acc...

github.com/unikraft/unikraft - c1cd88cdd511582ff7c48df2bd908871b37f7227 authored 11 months ago by Eduard Mihailescu <[email protected]>
drivers/ukintctlr: Add driver placeholder for Intel xPIC

Introduce a new driver placeholder for Intel interrupt controllers.
Since the different generati...

github.com/unikraft/unikraft - 70283713293e68548eb1d3fdc45e5a88eecec2f9 authored 11 months ago by Michalis Pappas <[email protected]>
lib/ukintctlr: Migrate PIC implementation to the xPIC driver

Migrate PIC to drivers/ukintctlr/xpic. Move architectural definitions
to arch/.

Notice: Picking...

github.com/unikraft/unikraft - 8347b35035c50456becefbac28f42ef761b3ab5c authored 11 months ago by Michalis Pappas <[email protected]>
arch/*: Update and align paddr/vaddr validation on x86 and arm64

Changed the signature of paddr and vaddr range check to takes the
length of the range instead of...

github.com/unikraft/unikraft - 46c37fb5b7d3ed4ea618142d49a59a0e0825fc12 authored 11 months ago by Kha Dinh <[email protected]>
arch/x86: Align x86's paddr checks to arm64

This is also the correct implementation, e.g., maximum
possible 16-bit address is 0xFFFF, or `(1...

github.com/unikraft/unikraft - 73bee6c645f7219f31141526efdf26e16072f894 authored 11 months ago by Kha Dinh <[email protected]>
plat/common/arm: Check for offline GICC during ACPI MP enumeration

When we probe for available, valid GICC's, we only look for those
that are already online and in...

github.com/unikraft/unikraft - 6594ca77c31d4dfb568471060604cb3246e4b1c6 authored 11 months ago by Sergiu Moga <[email protected]>
plat: Make memory region coalescing function handle misalignments

In order to preserve alignment among memory region descriptors, we
would strive to align every i...

github.com/unikraft/unikraft - 4db213852af1e28417766346bb1ecb0721b36b5a authored 11 months ago by Sergiu Moga <[email protected]>
plat/xen: Adapt Xen to the new uk_intctlr API

Notice: Picking individual commits in this PR will break the build.

Signed-off-by: Michalis Pap...

github.com/unikraft/unikraft - 06eadfa70c3d57c63f8013f5d1932db62d01d15e authored 11 months ago by Michalis Pappas <[email protected]>
plat/linuxu: Adapt to changes introduced by uk_intctlr

linuxu uses it's own implementation of interrupt handling that until
now implemented the old `uk...

github.com/unikraft/unikraft - 0d6f25306c2f7c009869f36aea4476d4eceb0023 authored 11 months ago by Michalis Pappas <[email protected]>
plat/kvm: Adapt KVM to the new uk_intctlr API

Update KVM setup to use the new uk_intctlr API. Update the config
to define HAVE_INTCTLR and ena...

github.com/unikraft/unikraft - fbebc30bf2bd948fb437a99a720471b3bb24efb9 authored 11 months ago by Michalis Pappas <[email protected]>
plat/common: Adapt common code to the new uk_intctlr API

Notice: Picking individual commits in this PR will break the build.

Signed-off-by: Michalis Pap...

github.com/unikraft/unikraft - ad628ee1756cd87052f1c03e0956685a5acf7527 authored 11 months ago by Michalis Pappas <[email protected]>
build: Restructure common dependencies for preprule_*

Restructures the preprocess rules to put common dependencies in a single
place. The advantage is...

github.com/unikraft/unikraft - e1aa1984c878c26cac4fa03c8a4dc304f2539089 authored 11 months ago by Simon Kuenzer <[email protected]>
lib/ukboot: Update ukboot to use the new uk_intctlr API

Notice: Picking individual commits in this PR will break the build.

Signed-off-by: Michalis Pap...

github.com/unikraft/unikraft - be2248c6c87a87568176859154465ffb4b164f46 authored 11 months ago by Michalis Pappas <[email protected]>
drivers/virtio: Update virtio to use the new uk_intctlr API

Notice: Picking individual commits in this PR will break the build.

Signed-off-by: Michalis Pap...

github.com/unikraft/unikraft - ed212af1e90e511cc065bae7db6eaaf6380fe02d authored 11 months ago by Michalis Pappas <[email protected]>
drivers/ukintctlr/xpic: Add IRQ allocation limits

Assign the full IDT range to the IRQ allocator.

Notice: Picking individual commits in this PR w...

github.com/unikraft/unikraft - 765938ab149de1873a88b5eedbad1b56f8c507d5 authored 11 months ago by Michalis Pappas <[email protected]>
lib/vfscore: Fix typo in Config.uk

Change `"filesysytem (/)"` to `filesystem (/)"`.

Signed-off-by: Riya Bisht <hack1001infinity@gm...

github.com/unikraft/unikraft - b642c3907c1d43e5e9c103329b1fe6fdad7d337e authored 11 months ago by Riya Bisht <[email protected]>
driver/ukintctlr/gic: Add IRQ allocation limits

Assign the entire SPI range to the IRQ allocator.

Notice: Picking individual commits in this PR...

github.com/unikraft/unikraft - 722470552c6c7e10fcce45922f8d94bebd64dbe2 authored 11 months ago by Michalis Pappas <[email protected]>
lib/uklibid: Option to embed .config to `.uk_libinfo`

This commit introduces the option to embed a gzipped version of the
configuration (`.config`) us...

github.com/unikraft/unikraft - d88df8ee0d0ef327a51437e5232c221702a3c129 authored 11 months ago by Simon Kuenzer <[email protected]>
plat/kvm/x86: Register the full IDT

Notice: Picking individual commits in this PR will break the build.

Signed-off-by: Marco Schlum...

github.com/unikraft/unikraft - e3950974b6dfa8282a4f5dad9b4b300d195c9f05 authored 11 months ago by Michalis Pappas <[email protected]>
plat/kvm/x86: Use `ur_pte` for the first page table

After commit f57ca0bbc402 ("plat/kvm/x86: Make zero page inaccessible"),
UEFI builds would fail ...

github.com/unikraft/unikraft - fb34b974e00a57ee9ff1a34c171313a3b1518e7f authored 11 months ago by Sergiu Moga <[email protected]>
lib/ukintctlr: Add uk_intctlr_irq_unregister()

Removes a previously registered interrupt handler.

Notice: Picking individual commits in this P...

github.com/unikraft/unikraft - 4a32a25b54688b2c553ab6ccb8bac5e46b7ee14a authored 11 months ago by Michalis Pappas <[email protected]>
drivers/ukintctlr/gic: Define the maximum assignable IRQ number

Add `uk/intctlr/limits.h` with the maximum assignable IRQ value
for GIC.

Update GIC_IRQ_MAX to ...

github.com/unikraft/unikraft - 2dc9b161470c595d2c4bc779892973059c77be47 authored 11 months ago by Michalis Pappas <[email protected]>
plat: Define MAX_IRQ at the controller driver

The maximum interrupt number depends on the interrupt controller
and potentially also its versio...

github.com/unikraft/unikraft - 76ced4bce447595102c9d365fd7fc4b642153a54 authored 11 months ago by Michalis Pappas <[email protected]>
scripts: configupdate: Only notify on architecture change

The `configupdate` script tells the user when `make properclean` should be
called. Since compila...

github.com/unikraft/unikraft - 49935a0f3d0e080d0a3332501055536eaa18202e authored 11 months ago by Simon Kuenzer <[email protected]>
plat/kvm: Remove IRQ acknowledgment from uk_intctlr_handle_irq

The method of interrupt acknowledgment varies between interrupt
controllers. On GIC interupts ar...

github.com/unikraft/unikraft - 066a9e7a5db574e45d365809b7dae2c80a43b2cf authored 11 months ago by Michalis Pappas <[email protected]>
plat/common: Error out if free regions not aligned for paging init

If the early code did everything right when setting up the memory
regions, then no free memory r...

github.com/unikraft/unikraft - 6540550402c01a3d1a8749467dafcc43713b1562 authored 11 months ago by Sergiu Moga <[email protected]>
lib/ukintctlr: Deprecate old intctrl API implementation for arm

Not that the GIC driver implements the uk_intctlr API, remove the
implementation of the old intc...

github.com/unikraft/unikraft - 66288fab10b825aecf6984ed31ff9c82ef985cbd authored 11 months ago by Michalis Pappas <[email protected]>
build: Link-time dependencies for libraries (`*_LDEPS`)

For each `.o` library, additional dependencies that trigger relinking
can be specified in `Makef...

github.com/unikraft/unikraft - f62a9a9b88ed7d78a62b7ed8870301ec392b87f9 authored 11 months ago by Simon Kuenzer <[email protected]>
scripts: uk-libinfo.py: Read .uk_libinfo section

This commit introduces the first version of a tool that reads and parses
the library information...

github.com/unikraft/unikraft - 07e911db1a2454fcafb6be98dd49db399586ac6f authored 11 months ago by Simon Kuenzer <[email protected]>
plat/common: Remove explicit APIC IRQ ACKing from handlers

Now that the xPIC drivers provides a unified IRQ handling,
remove explicit APIC IRQ acknowledgme...

github.com/unikraft/unikraft - fcc7dba62dd7b48cd6fbdf7590ba3cbfeb78929e authored 11 months ago by Michalis Pappas <[email protected]>
drivers/virtio: Add definition of VIRTIO_CONFIG_STATUS_FEATURES_OK

Add definition of VIRTIO_CONFIG_STATUS_FEATURES_OK in anticipation of
support for modern virtio....

github.com/unikraft/unikraft - 1117c8c3561572b3e836d8045396c626433b3ed0 authored 11 months ago by Michalis Pappas <[email protected]>
arch/*: Introduce function for validating a single address

Introduced a common API for checking a single vaddr/paddr,
where each each architecture may impl...

github.com/unikraft/unikraft - b0dcc5eeba4137aca8709c18a0c94e9e47023f96 authored 11 months ago by Kha Dinh <[email protected]>
lib/ukofw: Remove GIC interrupts parsing helper from libukofw

The interpretation of the `interrupts` property in the fdt is
controller-specific [1]. As such, ...

github.com/unikraft/unikraft - 6390f67a6426445d4b1babf82f7969a43a291990 authored 11 months ago by Michalis Pappas <[email protected]>
drivers/virtio/ring: Add basic support for modern virtio

This commit adds the minimum set of changes required for modern virtio
support.

Signed-off-by: ...

github.com/unikraft/unikraft - 00970e1079176f0d7332e0676b9830ff278529f6 authored 11 months ago by Michalis Pappas <[email protected]>
drivers/ukintctlr/gic: Adapt the GIC driver to the new uk_intctlr API

Deprecate `gic_init` in favor of `uk_intctlr_probe()`. Migrate the
`gic` global from the soon to...

github.com/unikraft/unikraft - 0373a9acaeb638ef2d5299cd61951979853bc8ca authored 11 months ago by Michalis Pappas <[email protected]>
drivers/virtio/mmio: Support passing devices via the cmdline

This commit adds support for passing virtio-mmio devices via the
command-line.

The probing func...

github.com/unikraft/unikraft - ee7a567f34781bf30b9c08881bfeab4b82f87e72 authored 11 months ago by Michalis Pappas <[email protected]>
build: Use ISO 8601 format for $(HOSTUTC)

In order to make the time format consistent for all host localizations
and systems, we use the I...

github.com/unikraft/unikraft - 9db86c073c68cc2d34faaedf3969ea948f431d99 authored 11 months ago by Simon Kuenzer <[email protected]>
plat/common/x86: Add API for x86_64 MMIO operations

Until now the x86_64 API has only been providing port-based
access to the device's config space....

github.com/unikraft/unikraft - 9d97ab7a771ff4fe569d2642ca646c1348af6cd0 authored 11 months ago by Michalis Pappas <[email protected]>
drivers/virtio: Fix unhandled IRQ

It may happen that depending on timing there is no new data in the
virtio queue, however, an IRQ...

github.com/unikraft/unikraft - 08dbfd2efcd935a46ac44e1c235f068bda7bcb90 authored 11 months ago by Marc Rittinghaus <[email protected]>
drivers/virtio/blk: Downgrade empty queue message

Due to virtio using separate data and control paths, it is normal for
the queue to be observed a...

github.com/unikraft/unikraft - 00b0d0bdabefa8c737fd20c80119dcfaaa22ebb7 authored 11 months ago by Michalis Pappas <[email protected]>
support/scripts: Ignore memory regions of length 0 in mkbootinfo.py

To avoid having the memory region map polluted with descriptors of
length 0, make sure that they...

github.com/unikraft/unikraft - c74d40f9a818ecccac8a11d09aea42e0b608453a authored 11 months ago by Sergiu Moga <[email protected]>
build: Remove unused `$(DATE)` variable

This commits removes the unused `$(DATE)` variable from the build
system. Build time and date is...

github.com/unikraft/unikraft - bcef1a462a2e5f4f99c1754bbea379cd02c4e27f authored 11 months ago by Simon Kuenzer <[email protected]>
plat/virtio: Implement support for event index notification suppression

This allows the drivers/device to specify the other side should
send a notification. This is req...

github.com/unikraft/unikraft - 43e260fbb62cb2b2aeadca47437a8dd5e7959cb3 authored 11 months ago by Marco Schlumpp <[email protected]>
lib/ukintctlr: Add IRQ allocation

Add an IRQ allocation function that will automatically assign
from a pool of free IRQs.

Notice:...

github.com/unikraft/unikraft - bd6dac1119ecb0c0b10fa00d0ceff9715568f0ed authored 11 months ago by Michalis Pappas <[email protected]>
build: Restructure common dependencies for buildrule_*

Restructures the build rules to put common dependencies in a single place.
The advantage is that...

github.com/unikraft/unikraft - fd16d0d177f2a9a48a09ee6dadb82bd773a3621e authored 11 months ago by Simon Kuenzer <[email protected]>
plat/kvm: Migrate ukplat_irq implementation to libukintctlr

Migrate the implementation of the ukplat_irq API from `plat/kvm/irq.c`
to `lib/ukintctlr/`. The ...

github.com/unikraft/unikraft - d48d3ccac7b676bb0216f87cc64d314334380f4e authored 11 months ago by Michalis Pappas <[email protected]>
plat/common/memory: Add memregion descriptor print function

Implement a basic printing function for memory regions.
`ukplat_memregion_print_desc`'s implemen...

github.com/unikraft/unikraft - 0b689552f646edf8c2ffe9278ed93310fd9b7077 authored 11 months ago by Sergiu Moga <[email protected]>
drivers/ukintctlr/xpic: Add MAX_IRQ limits for xPIC

Notice: Picking individual commits in this PR will break the build.

Signed-off-by: Michalis Pap...

github.com/unikraft/unikraft - b4c16fe5b99f560717dd59ee49ae7386c2d34540 authored 11 months ago by Michalis Pappas <[email protected]>
lib/ukintctlr: Introduce the uk_intctlr API

The new uk_intctlr API defines common interrupt controller driver ops,
along with a set of funct...

github.com/unikraft/unikraft - e3060965d13dbbdb35d404915a977ccb0b6801cc authored 11 months ago by Michalis Pappas <[email protected]>
drivers/virtio/blk: Remove unused warnings

When building without assertions some arguments and variables
are not used. This commit adds res...

github.com/unikraft/unikraft - a14988b460924de49bf4a7b61a5e643602ee39d8 authored 11 months ago by Michalis Pappas <[email protected]>
support/scripts: Use elf64_to_32.py for the multiboot header

Since `multiboot` demands that its corresponding header be placed in the
first 8192 bytes and `G...

github.com/unikraft/unikraft - b4dff857db6bc6f7f0f5721ecec0720510b079c5 authored 11 months ago by Sergiu Moga <[email protected]>
support/scripts: Rename `elf64_to_32.py` to `multiboot.py`

Now that we use `elf64_to_32.py` for building the `multiboot` header as
well and `elf64_to_32.py...

github.com/unikraft/unikraft - a8d6978e02c415a6d61674191485a51a84e8868a authored 11 months ago by Sergiu Moga <[email protected]>
lib/ramfs: Fix UAF bug when deleting open file

Previously ramfs would eagerly free filesystem nodes when deleting a
file regardless whether the...

github.com/unikraft/unikraft - 99145baa4fa0a67303179e650dd1aebfc3b081a7 authored 11 months ago by Andrei Tatar <[email protected]>
Makefile: Fix build verbosity for V=0

When setting `V=0`, we expect the verbosity level to be reduced, and
only the build output to be...

github.com/unikraft/unikraft - 6996a4fb35f4a780a5d20e4c7d47510d85979a5e authored 11 months ago by Stefan Jumarea <[email protected]>
driver/ukbus: Fix an invalid check in PCI probe

This causes the PCI driver to not initialize on certain systems.
The check should uses `==` inst...

github.com/unikraft/unikraft - df31c98fd3e6822e84d7e4866bf35fe66418d200 authored 11 months ago by Kha Dinh <[email protected]>
plat/common/x86: Make SIPI vector relocs independent from `ukreloc`

Allow having the same relocation mechanism of the SIPI vector symbols
be used regardless of whet...

github.com/unikraft/unikraft - ec0eef4defdd92578129dcd5c46750bb6ab58869 authored 11 months ago by Sergiu Moga <[email protected]>
plat/common/x86: Separate `start16` relocations from `ukreloc`

Since `start16` related symbols have a relocation mechanism similar,
but entirely independent fr...

github.com/unikraft/unikraft - 322261eed4e101095b3bdb9a50bc5d7521bdfc2c authored 11 months ago by Sergiu Moga <[email protected]>
include/uk: Introduce macro for may_alias attribute

This attribute allows to opt-out of the standard C strict aliasing rule.

Signed-off-by: Marco S...

github.com/unikraft/unikraft - 028aa63948afdff799ef25b95eac3b3d4a782765 authored 11 months ago by Marco Schlumpp <[email protected]>
plat/virtio: Use correct type for vring_avail_event field

This code was imported and this occurrence of the type was not adjusted when
the type name chang...

github.com/unikraft/unikraft - f01c4e2de1690cfb80c7cec242ea4df6326f379e authored 11 months ago by Marco Schlumpp <[email protected]>
support/scripts: `checkpatch` `WARN` on commit subject > 70 chars

Although `checkpatch.pl` checks for commit message lines to not be
longer than `75` characters, ...

github.com/unikraft/unikraft - 498f4a7ffc543d52d9e87c49c5afcc1260903049 authored 11 months ago by Sergiu Moga <[email protected]>
lib/uknetdev: Add interface for IPv4/TCP segmentation offload

This allows network device to advertise support for TSO on IPv4 and
clients to send large packet...

github.com/unikraft/unikraft - 3fe8eb09a2f17c9c1f7a64b14f1c31dea06f76ce authored 11 months ago by Marco Schlumpp <[email protected]>
lib/uknetdev: Add header for basic network structures

These structures allow introspection of network packets for drivers.

Signed-off-by: Marco Schlu...

github.com/unikraft/unikraft - 025f26326963fb5435c6e4b5abe9872e3c8883dc authored 11 months ago by Marco Schlumpp <[email protected]>
lib/ukcpio: Preserve timestamp of extracted files

Previously ukcpio did not honor the `mtime` field of cpio sections,
leaving extracted files time...

github.com/unikraft/unikraft - 246aa6482a7bff7a92ac8e0af5b589d447a738f6 authored 11 months ago by Andrei Tatar <[email protected]>
drivers/virtio: Add support for IPv4/TSO

When the host indicates support for TSO, enable it and accept large
packets when the correspondi...

github.com/unikraft/unikraft - 255c3687bf633bfe57dab8ae33915a3affe1e660 authored 11 months ago by Marco Schlumpp <[email protected]>
lib/vfscore: Remove timeval-related build warnings

The futimes and lutimes functions are defined with a `struct timeval [2]`
argument. They are how...

github.com/unikraft/unikraft - 1bebf09fbb4e6e61279fb62f64a73376f2ec981f authored 11 months ago by Tiago Andre Goncalves Oliveira <[email protected]>
arch/*: Add an non-aligned version for stack-pushing

For AArch64, `ukarch_rctx_stackpush` may add padding to make sure
the `sp` register is aligned t...

github.com/unikraft/unikraft - 2b2040713a7a01b350bf4e8a0cc84a06662d5cc9 authored 11 months ago by Tianyi Liu <[email protected]>
lib/vfscore: Fix potential vfscore_file mem leak

Previously if `fdalloc` failed to allocate a file descriptor, the
function would exit without de...

github.com/unikraft/unikraft - 979a0ffdedd5d4f64189cb07602e09aa7c561f0c authored 11 months ago by Andrei Tatar <[email protected]>
lib/vfscore: Fix pipe error codes

This change fixes incorrect return of error codes in the pipe module of
vfscore. Specifically:
-...

github.com/unikraft/unikraft - acf3da7545bb5d87473276254991d393af387bfd authored 11 months ago by Andrei Tatar <[email protected]>
build: Always save architecture with savedefconfig

With `savedefconfig`, KConfig creates a file that contains only options
that are different from ...

github.com/unikraft/unikraft - 6d372d184501f6db570ee6d5e450fa63a21cd346 authored 11 months ago by Simon Kuenzer <[email protected]>
build: Forward host architecture from build system to KConfig

Commit c11dceaa9698 ("kconfig: Determine the default arch from CC")
introduced the automatic sel...

github.com/unikraft/unikraft - 6eaf7770593af736d432286caa8d9707b455ccbe authored 11 months ago by Simon Kuenzer <[email protected]>
build: Do not check for updates with `savedefconfig`

The `savedefconfig` target is not saving a new configuration (`.config`)
but it derives a minima...

github.com/unikraft/unikraft - 5ad2c5fb048259efc7f3cf985b097b0bbc87add7 authored 11 months ago by Simon Kuenzer <[email protected]>
lib/ukcpio: Remove use of malloc & free

This change removes the use of heap memory for computing the extraction
path, eliminating a call...

github.com/unikraft/unikraft - f0336a68b004c61025a259e2a43c3f48b8aca802 authored 11 months ago by Andrei Tatar <[email protected]>
lib/ukcpio: Replace file libcalls with syscalls

This change replaces calls to open, close, write, chmod, and mkdir with
their raw Unikraft sysca...

github.com/unikraft/unikraft - e6fa5002ca27cd264d34e83a1b4e26dc807633b7 authored 11 months ago by Andrei Tatar <[email protected]>
lib/posix-user: Allow custom user & group

This change adds Kconfig options to select the default UID, GID,
username, and groupname that Un...

github.com/unikraft/unikraft - 70d2417dd0eb115c0bde482f25f307c3ef77ca5b authored 11 months ago by Andrei Tatar <[email protected]>
lib/ukmmap: Fix wrong return of NULL

Previously ukmmap's `mmap()` would return NULL for unimplemented cases.
However, no calling code...

github.com/unikraft/unikraft - 28f90fea09efcb116fbf7df518789b32e835a3b6 authored 11 months ago by Andrei Tatar <[email protected]>
lib/9pfs: Return ENOTTY on terminal ioctl calls

Some applications (e.g. python) will use `ioctl()` calls to check if an
interactive interpretor ...

github.com/unikraft/unikraft - 95aba44b7c188fe750bc391702d3af07c50a8b67 authored 11 months ago by Stefan Jumarea <[email protected]>
plat/virtio: Use may_alias attribute for vring_avail_event

The macro violates the strict aliasing rules. By using the newly introduced
may_alias attribute ...

github.com/unikraft/unikraft - d276df7afd0af581f77438d200dff5a1d19123e4 authored 11 months ago by Marco Schlumpp <[email protected]>
lib/9pfs: Return ENOTSUP on ioctl requests

Currently `9pfs` returns 0 for any `ioctl` request (except for
`TIOCGWINSZ`), which leads to mul...

github.com/unikraft/unikraft - 09a5eddd03474ebc57b3a2bfff0fe23f15ab4cf8 authored 11 months ago by Stefan Jumarea <[email protected]>
lib/uklock: Remove the rwlock_{upgrade,downgrade} functions

In the current form they impose very strong synchronization requirements,
making it impossible t...

github.com/unikraft/unikraft - 756db4ce7361b7072d958a658887180f01d39479 authored 11 months ago by Marco Schlumpp <[email protected]>
drivers/virtio: Add UK_PLAT_COMMON_BASE to the include path

The virtio drivers have both direct and indirect dependencies
on `uk/plat/common` headers.

Add ...

github.com/unikraft/unikraft - 55f128f948f2d9f4bfd16c942a2f83723cde75bd authored 11 months ago by Michalis Pappas <[email protected]>
drivers/ukbus/pci: Add UK_PLAT_COMMON_BASE to the include path

The pci driver has various dependencies on headers in `uk/plat/common`.
Add UK_PLAT_COMMON_BASE ...

github.com/unikraft/unikraft - a822159a094f06f8c5c331bfad2f9c6a6af7bc06 authored 11 months ago by Michalis Pappas <[email protected]>
drivers/ukbus/platform: Add UK_PLAT_COMMON_BASE to the include path

The platform bus driver depeds on `uk/plat/common/cpu.h`. Add
UK_PLAT_COMMON_BASE to the library...

github.com/unikraft/unikraft - 7edfb51c8ee4dee0d1e129cb7c5927772107bdf1 authored 11 months ago by Michalis Pappas <[email protected]>
scripts: `mkukimg`: Run only on Linux

The script `mkukimg` can only be run on a Linux host. This commit adds a
check that stops execut...

github.com/unikraft/unikraft - 04a28c13d3cb419a00451e54fa140366813fe2c8 authored 12 months ago by Simon Kuenzer <[email protected]>
scripts: Use GNU version of coreutils on Darwin

This commit changes the scripts under `support/scripts` and
`support/build` so that they use the...

github.com/unikraft/unikraft - 78e95c46daabae767860cc4d0c95d8532883f4e2 authored 12 months ago by Simon Kuenzer <[email protected]>
build: Provide command variables for `readlink` and `dirname`

For future references this commit adds command variables for `readlink`
and `dirname`. On Darwin...

github.com/unikraft/unikraft - 0111f80f04a17ad3a8e82053a456008278fd2339 authored 12 months ago by Simon Kuenzer <[email protected]>
build: Use ggrep on Darwin (MacOS)

The build system depends on the GNU version of `grep`. Since this is
typically installed with `g...

github.com/unikraft/unikraft - 2d70dcaffcfbafb471d5d998717f4de9a847dee5 authored 12 months ago by Simon Kuenzer <[email protected]>
support/scripts: mkcpio: Support Darwin (MacOS) environments

The standard `cpio` tool available under Darwin is the equivalent of the
`bsdcpio` tool availabl...

github.com/unikraft/unikraft - 403c453a727df3fed413df1c2dd04a543ce4f9b2 authored 12 months ago by Simon Kuenzer <[email protected]>
build: Add target to print unikernel LoC stats

This change adds the `print-loc` Makefile target which (fairly hackishly)
computes and prints st...

github.com/unikraft/unikraft - 02ac2b8c2abecc11878ea9278efb1e77d7242a8c authored 12 months ago by Andrei Tatar <[email protected]>
build: Forward YACC/LEX to kconfig make invocation

KConfig relies on GNU bison and does not work with the classical yacc.
While most Linux distribu...

github.com/unikraft/unikraft - 70983930ddd6a6a98148d82b1a3f6b4b4f592dca authored 12 months ago by Marco Schlumpp <[email protected]>
lib/vfscore: Replace dup2 syscalls with dup3

vfscore contained internal calls to the dup2 syscall, which is not
universally provided on all a...

github.com/unikraft/unikraft - dab31ccfdd8b72f7f104cd1dace4d8b9dd36f65e authored 12 months ago by Andrei Tatar <[email protected]>