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
Export a linker script symbol called `_base_addr` to represent the exact
reference value used by...
Add `do_uk_reloc` a method that parses the `.uk_reloc` section and
applies the relocations accor...
Create a custom `ur_ldr` macro to replace the `ldr` instruction in
places where references to ab...
Add compiler and linker options to properly build the Unikernel as a
static PIE. For now, only K...
Due to the placements of the `tls` and `tls_load` Program Headers,
The last two memory regions i...
Since it is the final binary that is loaded and executed, make sure
that `build_bootinfo` is cal...
Add support for variable length of virtio read and write. The original
error message is replaced...
This adds a Kconfig option to enable sanity checking of buddy allocator
free lists at runtime. C...
When the buddy allocator chooses a page order to allocate it can (for
pathologically large value...
This commit ensures that the inclusion of sub-'Makefile.build' is done with
the main Makefile. T...
Signed-off-by: Cezar Craciunoiu <[email protected]>
Reviewed-by: Razvan Deaconescu <raz...
Signed-off-by: Cezar Craciunoiu <[email protected]>
Reviewed-by: Razvan Deaconescu <raz...
This checks that the extended registers were not modified within the
interrupt service routine. ...
This can be used in situtations where the executed code must not touch
the extended registers. F...
The `uk_9pfs_create` call for `9p.2000L` uses posix flags for open file
permissions. The 9P serv...
Provide a command-line argument `vfs.fstab` that is meant to
contain a list of whitespace separa...
Now that we can dynamically mount any kind of volume through a more
generic format through the c...
Enclose parameters of function-like macros in brackets in x86_64 paging
code to avoid potential ...
This commit removes a nesting if-statement to increase readability
of `futex_wait()`.
Signed-of...
da5c23dc37889ca9d8c341af6f3772f30363740d authored over 1 year ago by Simon Kuenzer <[email protected]>
Adds a set of debug messages to better understand the futex state, like
threads getting into blo...
Introduces a configuration option to enable debug messages for
`lib/posix-futex`.
Signed-off-by...
b8a755bdb716dab7bb8fb347b277b080a8b2f4cc authored over 1 year ago by Simon Kuenzer <[email protected]>
Following the merge of [0], the use of complex numbers requires the
external microlibrary `compi...
This change adds an #include of <uk/plat/lcpu.h> which provides
`ukplat_lcpu_disable_irq()` and ...
There were multiple issues with the format string used in the trace
points. For example, python,...
This flag ensures that no system header directories are used by the
compiler. If this flag is no...
With the intention for accessing metrics (like thread execution time), this
commit introduces an...
This commit introduces an implementation for tracking thread execution
time with minimal executi...
This commit implements the callback for `uk_sched_idle_thread()`
for `lib/ukschedcoop`.
Signed-...
e9607f1d9504bb5c63efb86b7f41e5bfc2bb534d authored over 1 year ago by Simon Kuenzer <[email protected]>
`__nsec` and `__snsec` are defined as 64-bit integers based on `__u64` and
`__s64`. Depending on...
This commit extends `struct uk_thread` with a field for keeping track of
the execution time of a...
Instead of implementing own library ID mapping macros and functions, this
commit adopts `lib/uks...
This commit introduces a clearer separation between runtime and
compile-time resolution of libra...
Every invocation of any of the provided print function macros by
`lib/ukdebug` (`uk_printk()`, `...
This commit introduces macros for mapping a library name to a compile-time
unique identifier wit...
Instead of generating own library identifiers, this commit adopts
`lib/ukstore` to use the same ...
This commit introduces the function `uk_libid()` that finds the library ID
for a given library n...
This commit introduces the function `uk_libname()` that resolves a library
ID to its library nam...
libuklibid will provide generated identifiers for each selected library.
Signed-off-by: Simon K...
8999cd4be1c239bdd1b643bc83b2117914ce33d3 authored over 1 year ago by Simon Kuenzer <[email protected]>`libraries.in` contains a list of currently selected libraries.
Signed-off-by: Simon Kuenzer <s...
57f5e08159915db9a75d01387a436cbdc1055620 authored over 1 year ago by Simon Kuenzer <[email protected]>
This commit utilizes the recently added `SUBBUILD` feature of the build
system to natively gener...
This commit adds to the build system the ability to place generated
files (e.g., pre-processed, ...
This commit makes the variable `$(IMPORT_BASE)` usable in `Makefile.uk`
files. This is needed to...
This commit registers the `.uk` file extension as known extension that can
be generated by the b...
We have two pairs of functions that are internally used to create the
directory structure the bu...
Most of our Makefile commands have a preceding usage description in the
form of:
# func_name $p...
Previously the CPIO extraction code would only handle sections whose
header was of type director...
Previously vfs code would reject timestamps that are more than 1 second
before the epoch as inva...
This commit fixes a compiler warning about empty declarations introduced
with commit e622c0043f5...
This change adds the missing `*_C` integer literal macros to stdint.h.
Signed-off-by: Andrei Ta...
84b8f61e8c05414f6150b60267938772ee784654 authored over 1 year ago by Andrei Tatar <[email protected]>
This change fixes a typo in the `CHAR_BIT` constant in limits.h.
Previously it was incorrectly s...
This change adds float.h, along with arch-specific sub-headers, which
define constants regarding...
Previously the open syscall, when called on a directory with write mode
would either fail with E...
This change fixes an issue where the lock of the destination parent
directory was being taken mo...
This change adds a variant of namei_last_nofollow that can be called
with the lock on ddp->d_vno...
*at syscalls are implemented in Unikraft in two stages: (1) build the
full target path relative ...
This change adds a missing declaration of `sysconf()` in the unistd.h
header provided by nolibc,...
Calling code expects sysconf(_SC_GETPW_R_SIZE_MAX) to be either -1 or a
non-zero value for an in...
If `LIBUKDEBUG_PRINT_THREAD` is selected in the configuration menu and
`LIBUKDEBUG_ANSI_COLOR` i...
Commit ffdbb486c4dd ("arch/*: Add sanitization function for ectx memory")
added a function for s...
This allows libraries to handle NMI interrupts.
Signed-off-by: Marco Schlumpp <[email protected]...
6ae4726ed7f446944149eaa2b633c6924c02699a authored over 1 year ago by Marco Schlumpp <[email protected]>
Add htonl and ntohl functions to keep consistency, since their shorter
equivalents, ntohs(3) and...
The symbol is called ntohs not nthos.
Signed-off-by: Christiano Haesbaert <haesbaert@haesbaert....
89d2b954ee0edb9a9866f8f88a63f39ebf263035 authored over 1 year ago by Christiano Haesbaert <[email protected]>
Adding scanf and fscanf function to nolibc, since their symbols were
exported, but no implementa...
This change implements setting the file times of newly created files to
the current time, fillin...
Previously ramfs would assign a new unique inode number to a file on
every successful filesystem...
Previously a vfs syscall on a broken symlink would fail with ENOENT
instead of attempting the sy...
This ensures that both libraries cannot be selected at the same time.
Signed-off-by: Eduard Vin...
5c4201247095bd7b17d3c31898ca7a6f62f6afdd authored over 1 year ago by Eduard Vintilă <[email protected]>
The current Makefile refers to gccgo via gccgo-7. This commit removes
the version suffix.
Co-au...
fd2dd8f6d2eb5853c0a5d70681716ac923b6947a authored over 1 year ago by Marc Rittinghaus <[email protected]>
The current method of building libraries is to iterate over
each library's source files and invo...
Unikraft already offers exit codes through the ISA device, but these
are only a convention and a...
Same reasoning as in the previous commit.
Signed-off-by: Marco Schlumpp <[email protected]>
Rev...
vfscore will always use the default system allocator to free the
structure. This ensures a match...
Signed-off-by: Tianyi Liu <[email protected]>
Reviewed-by: Stefan Jumarea <stefanjumarea02@gmai...
Signed-off-by: Tianyi Liu <[email protected]>
Reviewed-by: Stefan Jumarea <stefanjumarea02@gmai...
This change removes the -fhosted flag as it is default for C code,
also silencing a warning that...
-Wno-builtin-declaration-mismatch is only supported by GCC.
Signed-off-by: Andrei Tatar <andrei...
50563ab140473b9c3d0f55a69d3e7aa3a5cf7202 authored over 1 year ago by Andrei Tatar <[email protected]>Removes unused counter variables that were triggering compiler warnings.
Signed-off-by: Andrei ...
87859634c1ec90a901db8a5a52a4433aba503dd8 authored over 1 year ago by Andrei Tatar <[email protected]>
Previously vfscore would apply the umask to the mode bits in the
emulated libc functions `open` ...
Previously, as a placeholder behavior, utime(NULL) would set the file
times to the epoch (1970-0...
Unikraft was previously missing an implementation of `unlinkat`, a
syscall often used by modern ...
Previously any file created on ramfs would have the mode bits set to
0777, regardless of the mod...
This adds support for the `UK_LDEPS` environment variable.
This variable specifies external file...
This adds `UK_ASFLAGS`, `UK_CFLAGS`, `UK_CXXFLAGS`, `UK_GOCFLAGS`, and
`UK_LDFLAGS` for explicit...
Add the University of Liège (ULiège) to ADOPTERS.md.
Signed-off-by: Gaulthier Gain <gaulthier.g...
2f2ecc9f7ed7062f04f097d6483b83ec1641e14c authored over 1 year ago by Gaulthier Gain <[email protected]>
This uses the `isa-debug-exit` device to pass an exit code to QEMU. By
default this device is no...
Once the commit
dbfb886b5312 ("plat: Ensure IRQ's disabled in `ukplat_lcpu_halt_irq`")
got merge...
There is the opportunity to miss an IRQ on the path to `wfi` from the
idle thread after deciding...
Make sure that `IRQ`'s are disabled when calling `ukplat_lcpu_halt_irq`.
Signed-off-by: Robert ...
dbfb886b531298ca79177a60be387dc8a77aa4e2 authored over 1 year ago by Robert Kuban <[email protected]>
Signed-off-by: Oleksii Moisieiev <[email protected]>
Reviewed-by: Razvan Deaconescu <ra...
This commit introduces GitHub-centric CI/CD definition that is intended
to be executed on incomi...
Signed-off-by: Pierre Olivier <[email protected]>
Reviewed-by: Razvan Deaconescu <...
This commit introduces a new top-level file, `ADOPTERS.md`, which
contains a list of adopters of...
Previously the cpu selections and the erratas were available only when
compiling with `GCC`. Thi...
Since a lot of required features rely on some minimum compiler versions,
we check the version fo...
Previously the cpu selections were available only when compiling with `GCC`.
This commit adds `C...
This commit adds target flags needed for cross-compiling with `clang`
for`AArch64`.
They are gua...
Real-world applications may run into this error many times per second.
I posted a simple reprodu...
The code was previously relying on being able to zero initialize the
lock structure.
Signed-off...
f7511c8b0612cfe4f19e9e632b6bb2ca6297d1b3 authored over 1 year ago by Marco Schlumpp <[email protected]>
This change adds version checking make functions in line with what we
have already for GCC. Also...
The structs passed to the `sigaction` library call and the
`rt_sigaction` Linux syscall have dif...