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/posix-eventfd: Include missing header

This commit fixes compilation warnings by including the missing header
`<uk/posix-fdtab.h>` at `...

github.com/unikraft/unikraft - cb90927032a9e6b6e499487453ea589e97805f8d authored 10 months ago by Simon Kuenzer <[email protected]>
lib/posix-unixsocket: Add `__unused` attribute to stubs

This commit adds the `__unused` attribute to the parameters of the
following stub functions:
- `...

github.com/unikraft/unikraft - bbc4fbee66d500628761205738e17ecb29843e4e authored 10 months ago by Simon Kuenzer <[email protected]>
lib/posix-poll: References to `lib/vfscore` depend on config

This commit makes any reference to `lib/vfscore` dependent on `lib/vfscore`
as part of the build...

github.com/unikraft/unikraft - 1d02005f08090a189ac5f9d158adf9bbdc5e082c authored 10 months ago by Simon Kuenzer <[email protected]>
lib/posix-fdtab: Fix comparing intergers of different signedness

Fixes a compiler warning due to comparing numbers of type signed `int` with
unsigned `size_t`.

...

github.com/unikraft/unikraft - 666a9ae9b833085f82311fdc75007e365b5587f3 authored 10 months ago by Simon Kuenzer <[email protected]>
lib/vfscore: Add dependency to `lib/posix-poll`

Adds the missing dependency to `lib/posix-poll`. Without that library,
`lib/vfscore` cannot be c...

github.com/unikraft/unikraft - 8238b234f5ca1b4de18aff3b705c563c0098cb41 authored 10 months ago by Simon Kuenzer <[email protected]>
lib/posix-ftab: References to `lib/vfscore` depend on config

This commit makes any reference to `lib/vfscore` dependent on `lib/vfscore`
as part of the build...

github.com/unikraft/unikraft - 0e139c664a3eb6463a9345343d1c0f450ff5b445 authored 10 months ago by Simon Kuenzer <[email protected]>
lib/uklock: Fix static initializer for recursive mutexes

Fix a compile error when using recursive mutexes. `_UK_MUTEX_UNOWNED` is
undefined.

Signed-off-...

github.com/unikraft/unikraft - 67ee5c31f898ffd5a30768cbbe77aa2eea1b053e authored 10 months ago by Simon Kuenzer <[email protected]>
lib/vfscore: Use recursive mutexes for vnodes

There are still situations where the vfscore relies on the
recursive-by-default behavior of the ...

github.com/unikraft/unikraft - 7444b808dac75560d8d59eec8e8e7016365b43b8 authored 10 months ago by Marco Schlumpp <[email protected]>
lib/vfscore: Directly register init_stdio to inittab

This is a clean-up commit that removes the indirection of init_stdio() from
fdtable_init() that ...

github.com/unikraft/unikraft - 23381a349d0fe440a2a8233e4cf1127bb5082d5d authored 10 months ago by Simon Kuenzer <[email protected]>
lib/posix-fdio: Add `__unused` attribute to stubs

This commit adds the `__unused` attribute to the parameters of the
`uk_sys_flock()` stub.

Signe...

github.com/unikraft/unikraft - 992a03c504b7cfc820e22a06a31a4ea02c0a4440 authored 10 months ago by Simon Kuenzer <[email protected]>
lib/posix-poll: SYS_select: Support `fd_set`s that are NULL

`SYS_select` can be called with some `fd_set`s (`readfds`, `writefds`,
`exceptsfds`) set with `N...

github.com/unikraft/unikraft - 03d3d9f78dc7028e0a3529e8da3fec0a9d00adeb authored 10 months ago by Simon Kuenzer <[email protected]>
lib/uklock: Add static initialize for recursive mutexes

This allows initializing recursive mutexes statically.

Signed-off-by: Marco Schlumpp <marco@uni...

github.com/unikraft/unikraft - 3b4aff5270d2393cc812779ede7b223cd90b2d36 authored 10 months ago by Marco Schlumpp <[email protected]>
lib/posix-fdio: Remove pointer dereference from fcntl

The argument is the value to which the mode should be set.

Signed-off-by: Marco Schlumpp <marco...

github.com/unikraft/unikraft - 678c6bf721c32908662d8d58cc7adcda4b9838b3 authored 10 months ago by Marco Schlumpp <[email protected]>
lib/ramfs: Implement copying of directories

The children of a directory were not moved over to the new entry.

Signed-off-by: Marco Schlumpp...

github.com/unikraft/unikraft - a3e58d02bc5eb6e092b9dd2b535991951a75a532 authored 10 months ago by Marco Schlumpp <[email protected]>
lib/ukfile: Ignore MSG_NOSIGNAL flags for UNIX sockets

The flag does not change the behavior of the UNIX sockets in the current
implementation state. T...

github.com/unikraft/unikraft - cb09a345965793db8ce14a96846e7fe1fa5a5541 authored 10 months ago by Marco Schlumpp <[email protected]>
lib/*: Replace posix-event library

This change removes the posix-event library along with support code
in vfscore, replacing it wit...

github.com/unikraft/unikraft - 99afb5f63a5f88d7731a0d2f53ec1f8a0af60bc3 authored 10 months ago by Andrei Tatar <[email protected]>
lib/posix-poll: Add support for (p)select()

This change adds support for `(p)select` exposed through
Unikraft-internal interfaces. The imple...

github.com/unikraft/unikraft - 2043a184abbf407c98c6befb01f14d90b5af8b45 authored 10 months ago by Andrei Tatar <[email protected]>
lib/posix-poll: Add support for (p)poll()

This change adds support for `(p)poll` exposed through Unikraft-internal
interfaces. The impleme...

github.com/unikraft/unikraft - 04bdeef2f22f2161642227443901e9d2c6cbaca0 authored 10 months ago by Andrei Tatar <[email protected]>
lib/posix-poll: Introduce posix-poll library

This change introduces the posix-poll library tasked with file event
polling for both newvfs fil...

github.com/unikraft/unikraft - f82aa2cdb39ed3e4e25ee89c7ae60837a0e68ea3 authored 10 months ago by Andrei Tatar <[email protected]>
lib/posix-eventfd: Introduce posix-eventfd library

This change introduces the posix-eventfd library that implements the
`eventfd` file type with ne...

github.com/unikraft/unikraft - 657ce44b0cacdb7a7f48a55041d3e4490ad35f0e authored 10 months ago by Andrei Tatar <[email protected]>
lib/posix-unixsocket: Support for AF_UNIX sockets

This change adds posix-unixsocket, a library implementing AF_UNIX
sockets on top of posix-socket...

github.com/unikraft/unikraft - d6e8872da271e7c837425765b769f10427b8df88 authored 10 months ago by Andrei Tatar <[email protected]>
lib/nolibc: Import sys/un.h header from musl

This change imports the sys/un.h header from musl 1.2.4, needed for type
definitions required to...

github.com/unikraft/unikraft - d82806b3861b8e23aefaf05ad76b7fdcef13dd5a authored 10 months ago by Andrei Tatar <[email protected]>
lib/posix-socket: Add socketpair postinit callback

This change adds a driver-registerable socket function which is to be
called by posix-socket at ...

github.com/unikraft/unikraft - 79979cc71ae1314e6174c666d8fc454a710b1b04 authored 10 months ago by Andrei Tatar <[email protected]>
lib/posix-socket: Port from vfscore to new uk_file

This change ports posix-socket from the legacy vfscore file
implementation to newvfs uk_files. I...

github.com/unikraft/unikraft - a8ae18e05cdc21b3737df1756704afe726caf031 authored 10 months ago by Andrei Tatar <[email protected]>
lib/posix-timerfd: Add syscall interface

This change implements the syscall interface to posix-timerfd, adding
the following syscalls to ...

github.com/unikraft/unikraft - d7af37e9d45157a21f87725d395f7a75a14068a9 authored 10 months ago by Andrei Tatar <[email protected]>
lib/posix-timerfd: Introduce posix-timerfd library

This change introduces posix-timerfd, a library providing timerfd files.
Initial implementation ...

github.com/unikraft/unikraft - 656365e18025cc65c87012922dccc0653751f050 authored 10 months ago by Andrei Tatar <[email protected]>
lib/nolibc: Import sys/timerfd.h header from musl

This change imports the sys/timerfd.h header from musl 1.2.4, needed for
type definitions requir...

github.com/unikraft/unikraft - 26134e5f8826a068f4138433a60daa4beb129ea8 authored 10 months ago by Andrei Tatar <[email protected]>
lib/*: Move pipes out of vfscore & into posix-pipe

This change moves the pipe file creation syscalls out of vfscore and
into posix-pipes, migrating...

github.com/unikraft/unikraft - 07f54c281b7f4a60fc206edfb7998a89920d5316 authored 10 months ago by Andrei Tatar <[email protected]>
lib/posix-pipe: Introduce posix-pipe library

This change introduces the posix-pipe library, providing
POSIX-compatible newvfs pipe files.
Ini...

github.com/unikraft/unikraft - 5530e83d2e2d726f53156c283686407ddd604a4c authored 10 months ago by Andrei Tatar <[email protected]>
lib/*: Move fd syscalls into posix-fdio

This change moves syscalls that operate strictly on open file
descriptors out of vfscore and int...

github.com/unikraft/unikraft - 2e682b9247c00c95b4fb645a10148d79e35da993 authored 10 months ago by Andrei Tatar <[email protected]>
lib/posix-fdio: Add internal API for file control

This change add Unikraft-internal implementations for file control
functions: ioctl, fcntl, floc...

github.com/unikraft/unikraft - 62e45f4b25aa8dbbe44cfe3f09ba140e12548362 authored 10 months ago by Andrei Tatar <[email protected]>
lib/posix-fdio: Add internal API for file metadata

This change adds Unikraft-internal implementations of file metadata
functions: fstat*, fchown, f...

github.com/unikraft/unikraft - 8d778fbd75e4b1f947e314c0ce9c03f9b19ff2b1 authored 10 months ago by Andrei Tatar <[email protected]>
lib/posix-fdio: Introduce posix-fdio library

This change introduces the posix-fdio library, tasked with providing
POSIX-compatible file I/O a...

github.com/unikraft/unikraft - 01f8f7bc292928007098760b7760baffa438398d authored 10 months ago by Andrei Tatar <[email protected]>
vfscore: Move fd handling into posix-fdtab

This change moves the file descriptor table out of vfscore, along with
the fd-specific syscalls ...

github.com/unikraft/unikraft - 3d731c0a80ec20b509ff5d3473941d4b3841c8e8 authored 10 months ago by Andrei Tatar <[email protected]>
lib/posix-fdtab: Add legacy interface for vfscore

This change adds support for legacy vfscore files to posix-fdtab,
allowing both new uk_ofiles an...

github.com/unikraft/unikraft - 0cae63d628abae392cb267a394e1323d8934019b authored 10 months ago by Andrei Tatar <[email protected]>
lib/posix-fdtab: Introduce fdtab library

This change introduces the posix-fdtab library, tasked with managing the
file descriptor table, ...

github.com/unikraft/unikraft - 9009bacf0d6312850a29de6a2e560667bc52fc92 authored 10 months ago by Andrei Tatar <[email protected]>
lib/ukfile: Introduce the ukfile library

This change introduces the ukfile library to provide a new fundamental
abstraction for "files" i...

github.com/unikraft/unikraft - 9b327f8efa996359e456958a2f6e43b5f2b6fdee authored 10 months ago by Andrei Tatar <[email protected]>
include/arch: Add atomic fetch & AND operation

This change adds a Unikraft macro for an architecture's atomic fetch &
AND operation, similar to...

github.com/unikraft/unikraft - 254bfe2748749336d077ba43153d8751d6faf1d9 authored 10 months ago by Andrei Tatar <[email protected]>
lib/uklock: Add static initializer for uk_rwlock

Signed-off-by: Andrei Tatar <[email protected]>
Reviewed-by: Simon Kuenzer <[email protected]>
...

github.com/unikraft/unikraft - c26c0bd86e2451446ee3c253a202804966bfcf30 authored 10 months ago by Andrei Tatar <[email protected]>
lib/uksched: Export static wait queue initializer

This change adds the convenience macro `UK_WAIT_QUEUE_INITIALIZER` to
the public API of uksched,...

github.com/unikraft/unikraft - 079e83ac2079ae318b10ace00e59a8d7f38db4ee authored 10 months ago by Andrei Tatar <[email protected]>
include/: Add static initializer for refcounts

Checkpatch-Ignore: SPACING
Signed-off-by: Andrei Tatar <[email protected]>
Reviewed-by: Simon K...

github.com/unikraft/unikraft - 788cc579547bcf005f96f04e58d8a12130d70747 authored 10 months ago by Andrei Tatar <[email protected]>
include: Add strong/weak reference counting

This change adds a utility header implementing a reference counting
scheme that supports regular...

github.com/unikraft/unikraft - 243a4cb3322a224dcfb2dcb96af7f20c40abe81f authored 10 months ago by Andrei Tatar <[email protected]>
lib/ukcpio: Optimize path handling

This change removes redundant string copies of the destination
extraction path, dropping about h...

github.com/unikraft/unikraft - 0b596b24b5e2ec1469ba2651a94be57251ca28e5 authored 10 months ago by Andrei Tatar <[email protected]>
lib/ukcpio: Refactor CPIO extraction

This change reorganizes the CPIO extraction code, making the parsing of
header fields more expli...

github.com/unikraft/unikraft - 8e8e270131533a2990db149a98bf33dcd10febd0 authored 10 months ago by Andrei Tatar <[email protected]>
lib/ukcpio: Clean up & organize code

This change is a minor code cleanup with no significant logic changes,
in preparation for a larg...

github.com/unikraft/unikraft - 1ff704458bead906e666608f4785e191bb8678e0 authored 10 months ago by Andrei Tatar <[email protected]>
lib/uktimeconv: Add conversion functions

This change adds a header with utility functions related to various time
formats defined by stan...

github.com/unikraft/unikraft - 661cc7fddd48a0e6d7da2a57999196c9cf8d1c64 authored 10 months ago by Andrei Tatar <[email protected]>
lib/nolibc,lib/isrlib: Fix strncpy

strncpy will produce different results for an empty string depending on the
preceding value of d...

github.com/unikraft/unikraft - 727a7bae91625f46140709ee48180ae4a8a1b3ac authored 10 months ago by Christiano Haesbaert <[email protected]>
include/arch: Make time constants signed

This change removes the unsigned marker on integer literals that define
time-related constants, ...

github.com/unikraft/unikraft - 74c7c57c678167639cad0de3fdf1eaa2cecfc2f8 authored 10 months ago by Andrei Tatar <[email protected]>
include/arch: Add raw compare-exchange operation

This change adds a Unikraft macro for the raw compare-exchange
operation, which in contrast to t...

github.com/unikraft/unikraft - 4a48944275b4fd28a996c06419616df304fb5bb1 authored 10 months ago by Andrei Tatar <[email protected]>
lib/vfscore: Fix crash in fstatat on NULL args

This change makes fstatat gracefully handle NULL arguments by returning
-EFAULT, preventing a ha...

github.com/unikraft/unikraft - 07429fe5a5512b224727894063b10d2f3b0f04d4 authored 10 months ago by Andrei Tatar <[email protected]>
lib/posix-time: Allow NULL arg in clock_getres

This change fixes the behavior of clock_getres to not return an error
when receiving a NULL as i...

github.com/unikraft/unikraft - 7153f4aa4aecaacd674a1315a2b2613fd4ac456f authored 10 months ago by Andrei Tatar <[email protected]>
lib/devfs: Remove dependency on `LIBVFSCORE_AUTOMOUNT_ROOTFS`

Now that we have `fstab`, we no longer depend on something mounting
a rootfs being preconfigured...

github.com/unikraft/unikraft - 423d89330d2ff9dcef8c8017decdfd8e6372304d authored 10 months ago by Sergiu Moga <[email protected]>
build: Introduce `UK_IMAGE_NAME_OVERWRITE` make var

This commit introduces a new make variable,
`UK_IMAGE_NAME_OVERWRITE`, which is used to customiz...

github.com/unikraft/unikraft - 0a82b246dc72c171e4746455eb63576c588046f2 authored 10 months ago by Alexander Jung <[email protected]>
lib/uknetdev: Add ipv4_dns0_addr configuration

Previously, we were only able to statically configure the ip address,
netmask, and gateway, but ...

github.com/unikraft/unikraft - 2c0bd0a6f6d267dda9f12a372edca518ff42853a authored 10 months ago by Marco Schlumpp <[email protected]>
Release: v0.15.0 Pandora

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

github.com/unikraft/unikraft - 97523b55ac9e1327f7294da1feec8d4869da534d authored 11 months ago by Alexander Jung <[email protected]>
lib/ukblkdev: Remove unused warnings

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

github.com/unikraft/unikraft - 3cb1a1226866c55f078814c8d767e1aef97d5082 authored 11 months ago by Michalis Pappas <[email protected]>
plat/common/acpi: Fix `VGIC IRQ MODE` flag bitfield of `GICC`

The bitfield `ACPI_MADT_GICC_FLAGS_VGIC_IRQ_MODE` of `GICC` had
the wrong value: it may be the 3...

github.com/unikraft/unikraft - 0cc2b184ce7be1c4a50b98b39c763e4694e62b35 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]>
include/arch: types.h: Assembler equivalent data types

Introduces data type macros for assembler code that matches integer sizes
of Unikraft-internal t...

github.com/unikraft/unikraft - 9ec16d5c3d769212649766200bea53bcfc7c622d authored 11 months ago by Simon Kuenzer <[email protected]>
plat/common/memory: Return `-EINVAL` on insertion of empty memregions

Since insertion of empty memory regions should not happen, return
`-EINVAL` in case the program ...

github.com/unikraft/unikraft - 4d4204336ab88954c13a15b778415a3da34e0984 authored 11 months ago by Sergiu Moga <[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/uklibid: Option to store "Compiled-by" to `.uklibid_info`

Adds the option to store information about the person/entity/robot that was
compiling a library ...

github.com/unikraft/unikraft - fd96b8408f73f08d67eabd3ba3444df316896b59 authored 11 months ago by Simon Kuenzer <[email protected]>
drivers/virtio: Add config space access over MMIO for x86_64

Add config space access primitives over MMIO for x86_64. On
arm64 these are aliased to the exist...

github.com/unikraft/unikraft - 0058fff2ad7f59037b1534831def027cfd2f3398 authored 11 months ago by Michalis Pappas <[email protected]>
Makefile: Save UK_NAME on savedefconfig

Using `make savedefconfig` did not save the `UK_NAME` config option.
Fix that by appending the v...

github.com/unikraft/unikraft - fb3bc4c8ff17da9825d2833385daf13fbb6c7205 authored 11 months ago by Stefan Jumarea <[email protected]>
drivers/virtio/blk: Add basic support for modern virtio

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

Checkpatch-Igno...

github.com/unikraft/unikraft - fd759f3f1f92d55c252308ff35d05dd01225d024 authored 11 months ago by Michalis Pappas <[email protected]>
plat/common: Migrate the APIC implementation to the xPIC driver

Introduce `arch/x86/x86_64/include/uk/asm/arch.h` for architectural
definitions of x86_64 and mi...

github.com/unikraft/unikraft - f9f24b971dba4f82fa4af24215b7ff93065f2e97 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]>
lib/uklibid: Add documentation for `.uk_libinfo` section

This commit introduces a `README.md` document that describes the
`.uk_libinfo` section format an...

github.com/unikraft/unikraft - d91b82a5115a29f62137d1e25ac56d10eecf441f authored 11 months ago by Simon Kuenzer <[email protected]>
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]>
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]>
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]>
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/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]>
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]>
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: 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]>
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]>
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]>
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]>
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: 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]>
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]>
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]>
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/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]>
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]>
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]>