Ecosyste.ms: OpenCollective

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

github.com/unikraft/unikraft

A next-generation cloud native kernel designed to unlock best-in-class performance, security primitives and efficiency savings.
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 `...

cb90927032a9e6b6e499487453ea589e97805f8d authored about 1 year ago
lib/posix-unixsocket: Add `__unused` attribute to stubs

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

bbc4fbee66d500628761205738e17ecb29843e4e authored about 1 year ago
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...

1d02005f08090a189ac5f9d158adf9bbdc5e082c authored about 1 year ago
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`.

...

666a9ae9b833085f82311fdc75007e365b5587f3 authored about 1 year ago
lib/vfscore: Add dependency to `lib/posix-poll`

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

8238b234f5ca1b4de18aff3b705c563c0098cb41 authored about 1 year ago
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...

0e139c664a3eb6463a9345343d1c0f450ff5b445 authored about 1 year ago
lib/uklock: Fix static initializer for recursive mutexes

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

Signed-off-...

67ee5c31f898ffd5a30768cbbe77aa2eea1b053e authored about 1 year ago
lib/vfscore: Use recursive mutexes for vnodes

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

7444b808dac75560d8d59eec8e8e7016365b43b8 authored about 1 year ago
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 ...

23381a349d0fe440a2a8233e4cf1127bb5082d5d authored about 1 year ago
lib/posix-fdio: Add `__unused` attribute to stubs

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

Signe...

992a03c504b7cfc820e22a06a31a4ea02c0a4440 authored about 1 year ago
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...

03d3d9f78dc7028e0a3529e8da3fec0a9d00adeb authored about 1 year ago
lib/uklock: Add static initialize for recursive mutexes

This allows initializing recursive mutexes statically.

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

3b4aff5270d2393cc812779ede7b223cd90b2d36 authored about 1 year ago
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...

678c6bf721c32908662d8d58cc7adcda4b9838b3 authored about 1 year ago
lib/ramfs: Implement copying of directories

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

Signed-off-by: Marco Schlumpp...

a3e58d02bc5eb6e092b9dd2b535991951a75a532 authored about 1 year ago
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...

cb09a345965793db8ce14a96846e7fe1fa5a5541 authored about 1 year ago
lib/*: Replace posix-event library

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

99afb5f63a5f88d7731a0d2f53ec1f8a0af60bc3 authored about 1 year ago
lib/posix-poll: Add support for (p)select()

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

2043a184abbf407c98c6befb01f14d90b5af8b45 authored about 1 year ago
lib/posix-poll: Add support for (p)poll()

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

04bdeef2f22f2161642227443901e9d2c6cbaca0 authored about 1 year ago
lib/posix-poll: Introduce posix-poll library

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

f82aa2cdb39ed3e4e25ee89c7ae60837a0e68ea3 authored about 1 year ago
lib/posix-eventfd: Introduce posix-eventfd library

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

657ce44b0cacdb7a7f48a55041d3e4490ad35f0e authored about 1 year ago
lib/posix-unixsocket: Support for AF_UNIX sockets

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

d6e8872da271e7c837425765b769f10427b8df88 authored about 1 year ago
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...

d82806b3861b8e23aefaf05ad76b7fdcef13dd5a authored about 1 year ago
lib/posix-socket: Add socketpair postinit callback

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

79979cc71ae1314e6174c666d8fc454a710b1b04 authored about 1 year ago
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...

a8ae18e05cdc21b3737df1756704afe726caf031 authored about 1 year ago
lib/posix-timerfd: Add syscall interface

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

d7af37e9d45157a21f87725d395f7a75a14068a9 authored about 1 year ago
lib/posix-timerfd: Introduce posix-timerfd library

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

656365e18025cc65c87012922dccc0653751f050 authored about 1 year ago
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...

26134e5f8826a068f4138433a60daa4beb129ea8 authored about 1 year ago
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...

07f54c281b7f4a60fc206edfb7998a89920d5316 authored about 1 year ago
lib/posix-pipe: Introduce posix-pipe library

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

5530e83d2e2d726f53156c283686407ddd604a4c authored about 1 year ago
lib/*: Move fd syscalls into posix-fdio

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

2e682b9247c00c95b4fb645a10148d79e35da993 authored about 1 year ago
lib/posix-fdio: Add internal API for file control

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

62e45f4b25aa8dbbe44cfe3f09ba140e12548362 authored about 1 year ago
lib/posix-fdio: Add internal API for file metadata

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

8d778fbd75e4b1f947e314c0ce9c03f9b19ff2b1 authored about 1 year ago
lib/posix-fdio: Introduce posix-fdio library

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

01f8f7bc292928007098760b7760baffa438398d authored about 1 year ago
vfscore: Move fd handling into posix-fdtab

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

3d731c0a80ec20b509ff5d3473941d4b3841c8e8 authored about 1 year ago
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...

0cae63d628abae392cb267a394e1323d8934019b authored about 1 year ago
lib/posix-fdtab: Introduce fdtab library

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

9009bacf0d6312850a29de6a2e560667bc52fc92 authored about 1 year ago
lib/ukfile: Introduce the ukfile library

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

9b327f8efa996359e456958a2f6e43b5f2b6fdee authored about 1 year ago
include/arch: Add atomic fetch & AND operation

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

254bfe2748749336d077ba43153d8751d6faf1d9 authored about 1 year ago
lib/uklock: Add static initializer for uk_rwlock

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

c26c0bd86e2451446ee3c253a202804966bfcf30 authored about 1 year ago
lib/uksched: Export static wait queue initializer

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

079e83ac2079ae318b10ace00e59a8d7f38db4ee authored about 1 year ago
include/: Add static initializer for refcounts

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

788cc579547bcf005f96f04e58d8a12130d70747 authored about 1 year ago
include: Add strong/weak reference counting

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

243a4cb3322a224dcfb2dcb96af7f20c40abe81f authored about 1 year ago
lib/ukcpio: Optimize path handling

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

0b596b24b5e2ec1469ba2651a94be57251ca28e5 authored about 1 year ago
lib/ukcpio: Refactor CPIO extraction

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

8e8e270131533a2990db149a98bf33dcd10febd0 authored about 1 year ago
lib/ukcpio: Clean up & organize code

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

1ff704458bead906e666608f4785e191bb8678e0 authored about 1 year ago
lib/uktimeconv: Add conversion functions

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

661cc7fddd48a0e6d7da2a57999196c9cf8d1c64 authored about 1 year ago
lib/nolibc,lib/isrlib: Fix strncpy

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

727a7bae91625f46140709ee48180ae4a8a1b3ac authored about 1 year ago
include/arch: Make time constants signed

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

74c7c57c678167639cad0de3fdf1eaa2cecfc2f8 authored about 1 year ago
include/arch: Add raw compare-exchange operation

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

4a48944275b4fd28a996c06419616df304fb5bb1 authored about 1 year ago
lib/vfscore: Fix crash in fstatat on NULL args

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

07429fe5a5512b224727894063b10d2f3b0f04d4 authored about 1 year ago
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...

7153f4aa4aecaacd674a1315a2b2613fd4ac456f authored about 1 year ago
lib/devfs: Remove dependency on `LIBVFSCORE_AUTOMOUNT_ROOTFS`

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

423d89330d2ff9dcef8c8017decdfd8e6372304d authored about 1 year ago
build: Introduce `UK_IMAGE_NAME_OVERWRITE` make var

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

0a82b246dc72c171e4746455eb63576c588046f2 authored about 1 year ago
lib/uknetdev: Add ipv4_dns0_addr configuration

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

2c0bd0a6f6d267dda9f12a372edca518ff42853a authored about 1 year ago
Release: v0.15.0 Pandora

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

97523b55ac9e1327f7294da1feec8d4869da534d authored over 1 year ago
lib/ukblkdev: Remove unused warnings

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

3cb1a1226866c55f078814c8d767e1aef97d5082 authored over 1 year ago
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...

0cc2b184ce7be1c4a50b98b39c763e4694e62b35 authored over 1 year ago
lib/ukintctlr: Add uk_intctlr_irq_unregister()

Removes a previously registered interrupt handler.

Notice: Picking individual commits in this P...

4a32a25b54688b2c553ab6ccb8bac5e46b7ee14a authored over 1 year ago
include/arch: types.h: Assembler equivalent data types

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

9ec16d5c3d769212649766200bea53bcfc7c622d authored over 1 year ago
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 ...

4d4204336ab88954c13a15b778415a3da34e0984 authored over 1 year ago
drivers/ukintctlr/xpic: Add IRQ allocation limits

Assign the full IDT range to the IRQ allocator.

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

765938ab149de1873a88b5eedbad1b56f8c507d5 authored over 1 year ago
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 ...

fd96b8408f73f08d67eabd3ba3444df316896b59 authored over 1 year ago
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...

0058fff2ad7f59037b1534831def027cfd2f3398 authored over 1 year ago
Makefile: Save UK_NAME on savedefconfig

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

fb3bc4c8ff17da9825d2833385daf13fbb6c7205 authored over 1 year ago
drivers/virtio/blk: Add basic support for modern virtio

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

Checkpatch-Igno...

fd759f3f1f92d55c252308ff35d05dd01225d024 authored over 1 year ago
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...

f9f24b971dba4f82fa4af24215b7ff93065f2e97 authored over 1 year ago
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...

ed212af1e90e511cc065bae7db6eaaf6380fe02d authored over 1 year ago
lib/uklibid: Add documentation for `.uk_libinfo` section

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

d91b82a5115a29f62137d1e25ac56d10eecf441f authored over 1 year ago
drivers/virtio: Update coding style of virtio_config.h

Checkpatch and other fixes to comply to coding conventions

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

77df0a43c889648179a449c31c85e13520ff22dc authored over 1 year ago
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: ...

48d3d57ca2428976f5214593ef68badc5c346b21 authored over 1 year ago
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...

6594ca77c31d4dfb568471060604cb3246e4b1c6 authored over 1 year ago
plat: Make memory region coalescing function handle misalignments

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

4db213852af1e28417766346bb1ecb0721b36b5a authored over 1 year ago
lib/uklibid: Option to embed .config to `.uk_libinfo`

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

d88df8ee0d0ef327a51437e5232c221702a3c129 authored over 1 year ago
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...

6540550402c01a3d1a8749467dafcc43713b1562 authored over 1 year ago
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...

66288fab10b825aecf6984ed31ff9c82ef985cbd authored over 1 year ago
scripts: uk-libinfo.py: Read .uk_libinfo section

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

07e911db1a2454fcafb6be98dd49db399586ac6f authored over 1 year ago
plat/common: Remove explicit APIC IRQ ACKing from handlers

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

fcc7dba62dd7b48cd6fbdf7590ba3cbfeb78929e authored over 1 year ago
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...

be2248c6c87a87568176859154465ffb4b164f46 authored over 1 year ago
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....

1117c8c3561572b3e836d8045396c626433b3ed0 authored over 1 year ago
lib/ukofw: Remove GIC interrupts parsing helper from libukofw

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

6390f67a6426445d4b1babf82f7969a43a291990 authored over 1 year ago
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: ...

00970e1079176f0d7332e0676b9830ff278529f6 authored over 1 year ago
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...

0373a9acaeb638ef2d5299cd61951979853bc8ca authored over 1 year ago
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...

9db86c073c68cc2d34faaedf3969ea948f431d99 authored over 1 year ago
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....

9d97ab7a771ff4fe569d2642ca646c1348af6cd0 authored over 1 year ago
drivers/virtio: Fix unhandled IRQ

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

08dbfd2efcd935a46ac44e1c235f068bda7bcb90 authored over 1 year ago
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...

00b0d0bdabefa8c737fd20c80119dcfaaa22ebb7 authored over 1 year ago
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...

c74d40f9a818ecccac8a11d09aea42e0b608453a authored over 1 year ago
build: Remove unused `$(DATE)` variable

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

bcef1a462a2e5f4f99c1754bbea379cd02c4e27f authored over 1 year ago
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...

43e260fbb62cb2b2aeadca47437a8dd5e7959cb3 authored over 1 year ago
plat/kvm: Remove IRQ acknowledgment from uk_intctlr_handle_irq

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

066a9e7a5db574e45d365809b7dae2c80a43b2cf authored over 1 year ago
build: Restructure common dependencies for buildrule_*

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

fd16d0d177f2a9a48a09ee6dadb82bd773a3621e authored over 1 year ago
plat: Define MAX_IRQ at the controller driver

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

76ced4bce447595102c9d365fd7fc4b642153a54 authored over 1 year ago
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 ...

d48d3ccac7b676bb0216f87cc64d314334380f4e authored over 1 year ago
plat/common/memory: Add memregion descriptor print function

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

0b689552f646edf8c2ffe9278ed93310fd9b7077 authored over 1 year ago
lib/ukintctlr: Introduce the uk_intctlr API

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

e3060965d13dbbdb35d404915a977ccb0b6801cc authored over 1 year ago
drivers/virtio/blk: Remove unused warnings

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

a14988b460924de49bf4a7b61a5e643602ee39d8 authored over 1 year ago
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 ...

2dc9b161470c595d2c4bc779892973059c77be47 authored over 1 year ago
plat/kvm/x86: Register the full IDT

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

Signed-off-by: Marco Schlum...

e3950974b6dfa8282a4f5dad9b4b300d195c9f05 authored over 1 year ago
driver/ukintctlr/gic: Add IRQ allocation limits

Assign the entire SPI range to the IRQ allocator.

Notice: Picking individual commits in this PR...

722470552c6c7e10fcce45922f8d94bebd64dbe2 authored over 1 year ago
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...

ad628ee1756cd87052f1c03e0956685a5acf7527 authored over 1 year ago