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
Checkpatch and other fixes to comply to coding conventions
Signed-off-by: Michalis Pappas <mich...
github.com/unikraft/unikraft - 77df0a43c889648179a449c31c85e13520ff22dc authored about 1 year ago by Michalis Pappas <[email protected]>
Clang's preprocessor seems to behave differently when computing an integer
based on undefined ma...
sys/prctl.h in nolibc is using UK_LIBC_SYSCALLS as guard.
This is not required, since the guard ...
The "sys/prctl.h" header is specific to "nolibc". Move it from
"lib/posix-process/include/" to "...
This is a small clean-up commit: it removes the unused targets `config`
and `%_defconfig`. Addit...
After commit f57ca0bbc402 ("plat/kvm/x86: Make zero page inaccessible"),
early accesses to unini...
The rule that copies the current `.config` to the build directory was
intended, among other thin...
This commit adds the minimum set of changes required for modern virtio
support.
Signed-off-by: ...
github.com/unikraft/unikraft - 48d3d57ca2428976f5214593ef68badc5c346b21 authored about 1 year ago by Michalis Pappas <[email protected]>
Our build system is still not able to re-trigger the compilation if only
the command line of a c...
According to the `UEFI` specifications, `AllocatePool()` is the safest
allocation method, howeve...
`posix_memalign` and `memalign`
To ensure that symbols such as malloc, calloc, and free are acc...
github.com/unikraft/unikraft - c1cd88cdd511582ff7c48df2bd908871b37f7227 authored about 1 year ago by Eduard Mihailescu <[email protected]>
Introduce a new driver placeholder for Intel interrupt controllers.
Since the different generati...
Migrate PIC to drivers/ukintctlr/xpic. Move architectural definitions
to arch/.
Notice: Picking...
github.com/unikraft/unikraft - 8347b35035c50456becefbac28f42ef761b3ab5c authored about 1 year ago by Michalis Pappas <[email protected]>
Changed the signature of paddr and vaddr range check to takes the
length of the range instead of...
This is also the correct implementation, e.g., maximum
possible 16-bit address is 0xFFFF, or `(1...
When we probe for available, valid GICC's, we only look for those
that are already online and in...
In order to preserve alignment among memory region descriptors, we
would strive to align every i...
Notice: Picking individual commits in this PR will break the build.
Signed-off-by: Michalis Pap...
github.com/unikraft/unikraft - 06eadfa70c3d57c63f8013f5d1932db62d01d15e authored about 1 year ago by Michalis Pappas <[email protected]>
linuxu uses it's own implementation of interrupt handling that until
now implemented the old `uk...
Update KVM setup to use the new uk_intctlr API. Update the config
to define HAVE_INTCTLR and ena...
Notice: Picking individual commits in this PR will break the build.
Signed-off-by: Michalis Pap...
github.com/unikraft/unikraft - ad628ee1756cd87052f1c03e0956685a5acf7527 authored about 1 year ago by Michalis Pappas <[email protected]>
Restructures the preprocess rules to put common dependencies in a single
place. The advantage is...
Notice: Picking individual commits in this PR will break the build.
Signed-off-by: Michalis Pap...
github.com/unikraft/unikraft - be2248c6c87a87568176859154465ffb4b164f46 authored about 1 year ago by Michalis Pappas <[email protected]>Notice: Picking individual commits in this PR will break the build.
Signed-off-by: Michalis Pap...
github.com/unikraft/unikraft - ed212af1e90e511cc065bae7db6eaaf6380fe02d authored about 1 year ago by Michalis Pappas <[email protected]>Assign the full IDT range to the IRQ allocator.
Notice: Picking individual commits in this PR w...
github.com/unikraft/unikraft - 765938ab149de1873a88b5eedbad1b56f8c507d5 authored about 1 year ago by Michalis Pappas <[email protected]>Change `"filesysytem (/)"` to `filesystem (/)"`.
Signed-off-by: Riya Bisht <hack1001infinity@gm...
github.com/unikraft/unikraft - b642c3907c1d43e5e9c103329b1fe6fdad7d337e authored about 1 year ago by Riya Bisht <[email protected]>Assign the entire SPI range to the IRQ allocator.
Notice: Picking individual commits in this PR...
github.com/unikraft/unikraft - 722470552c6c7e10fcce45922f8d94bebd64dbe2 authored about 1 year ago by Michalis Pappas <[email protected]>
This commit introduces the option to embed a gzipped version of the
configuration (`.config`) us...
Notice: Picking individual commits in this PR will break the build.
Signed-off-by: Marco Schlum...
github.com/unikraft/unikraft - e3950974b6dfa8282a4f5dad9b4b300d195c9f05 authored about 1 year ago by Michalis Pappas <[email protected]>
After commit f57ca0bbc402 ("plat/kvm/x86: Make zero page inaccessible"),
UEFI builds would fail ...
Removes a previously registered interrupt handler.
Notice: Picking individual commits in this P...
github.com/unikraft/unikraft - 4a32a25b54688b2c553ab6ccb8bac5e46b7ee14a authored about 1 year ago by Michalis Pappas <[email protected]>
Add `uk/intctlr/limits.h` with the maximum assignable IRQ value
for GIC.
Update GIC_IRQ_MAX to ...
github.com/unikraft/unikraft - 2dc9b161470c595d2c4bc779892973059c77be47 authored about 1 year ago by Michalis Pappas <[email protected]>
The maximum interrupt number depends on the interrupt controller
and potentially also its versio...
The `configupdate` script tells the user when `make properclean` should be
called. Since compila...
The method of interrupt acknowledgment varies between interrupt
controllers. On GIC interupts ar...
If the early code did everything right when setting up the memory
regions, then no free memory r...
Not that the GIC driver implements the uk_intctlr API, remove the
implementation of the old intc...
For each `.o` library, additional dependencies that trigger relinking
can be specified in `Makef...
This commit introduces the first version of a tool that reads and parses
the library information...
Now that the xPIC drivers provides a unified IRQ handling,
remove explicit APIC IRQ acknowledgme...
Add definition of VIRTIO_CONFIG_STATUS_FEATURES_OK in anticipation of
support for modern virtio....
Introduced a common API for checking a single vaddr/paddr,
where each each architecture may impl...
The interpretation of the `interrupts` property in the fdt is
controller-specific [1]. As such, ...
This commit adds the minimum set of changes required for modern virtio
support.
Signed-off-by: ...
github.com/unikraft/unikraft - 00970e1079176f0d7332e0676b9830ff278529f6 authored about 1 year ago by Michalis Pappas <[email protected]>
Deprecate `gic_init` in favor of `uk_intctlr_probe()`. Migrate the
`gic` global from the soon to...
This commit adds support for passing virtio-mmio devices via the
command-line.
The probing func...
github.com/unikraft/unikraft - ee7a567f34781bf30b9c08881bfeab4b82f87e72 authored about 1 year ago by Michalis Pappas <[email protected]>
In order to make the time format consistent for all host localizations
and systems, we use the I...
Until now the x86_64 API has only been providing port-based
access to the device's config space....
It may happen that depending on timing there is no new data in the
virtio queue, however, an IRQ...
Due to virtio using separate data and control paths, it is normal for
the queue to be observed a...
To avoid having the memory region map polluted with descriptors of
length 0, make sure that they...
This commits removes the unused `$(DATE)` variable from the build
system. Build time and date is...
This allows the drivers/device to specify the other side should
send a notification. This is req...
Add an IRQ allocation function that will automatically assign
from a pool of free IRQs.
Notice:...
github.com/unikraft/unikraft - bd6dac1119ecb0c0b10fa00d0ceff9715568f0ed authored about 1 year ago by Michalis Pappas <[email protected]>
Restructures the build rules to put common dependencies in a single place.
The advantage is that...
Migrate the implementation of the ukplat_irq API from `plat/kvm/irq.c`
to `lib/ukintctlr/`. The ...
Implement a basic printing function for memory regions.
`ukplat_memregion_print_desc`'s implemen...
Notice: Picking individual commits in this PR will break the build.
Signed-off-by: Michalis Pap...
github.com/unikraft/unikraft - b4c16fe5b99f560717dd59ee49ae7386c2d34540 authored about 1 year ago by Michalis Pappas <[email protected]>
The new uk_intctlr API defines common interrupt controller driver ops,
along with a set of funct...
When building without assertions some arguments and variables
are not used. This commit adds res...
Since `multiboot` demands that its corresponding header be placed in the
first 8192 bytes and `G...
Now that we use `elf64_to_32.py` for building the `multiboot` header as
well and `elf64_to_32.py...
Previously ramfs would eagerly free filesystem nodes when deleting a
file regardless whether the...
When setting `V=0`, we expect the verbosity level to be reduced, and
only the build output to be...
This causes the PCI driver to not initialize on certain systems.
The check should uses `==` inst...
Allow having the same relocation mechanism of the SIPI vector symbols
be used regardless of whet...
Since `start16` related symbols have a relocation mechanism similar,
but entirely independent fr...
This attribute allows to opt-out of the standard C strict aliasing rule.
Signed-off-by: Marco S...
github.com/unikraft/unikraft - 028aa63948afdff799ef25b95eac3b3d4a782765 authored about 1 year ago by Marco Schlumpp <[email protected]>
This code was imported and this occurrence of the type was not adjusted when
the type name chang...
Although `checkpatch.pl` checks for commit message lines to not be
longer than `75` characters, ...
This allows network device to advertise support for TSO on IPv4 and
clients to send large packet...
These structures allow introspection of network packets for drivers.
Signed-off-by: Marco Schlu...
github.com/unikraft/unikraft - 025f26326963fb5435c6e4b5abe9872e3c8883dc authored about 1 year ago by Marco Schlumpp <[email protected]>
Previously ukcpio did not honor the `mtime` field of cpio sections,
leaving extracted files time...
When the host indicates support for TSO, enable it and accept large
packets when the correspondi...
The futimes and lutimes functions are defined with a `struct timeval [2]`
argument. They are how...
For AArch64, `ukarch_rctx_stackpush` may add padding to make sure
the `sp` register is aligned t...
Previously if `fdalloc` failed to allocate a file descriptor, the
function would exit without de...
This change fixes incorrect return of error codes in the pipe module of
vfscore. Specifically:
-...
With `savedefconfig`, KConfig creates a file that contains only options
that are different from ...
Commit c11dceaa9698 ("kconfig: Determine the default arch from CC")
introduced the automatic sel...
The `savedefconfig` target is not saving a new configuration (`.config`)
but it derives a minima...
This change removes the use of heap memory for computing the extraction
path, eliminating a call...
This change replaces calls to open, close, write, chmod, and mkdir with
their raw Unikraft sysca...
This change adds Kconfig options to select the default UID, GID,
username, and groupname that Un...
Previously ukmmap's `mmap()` would return NULL for unimplemented cases.
However, no calling code...
Some applications (e.g. python) will use `ioctl()` calls to check if an
interactive interpretor ...
The macro violates the strict aliasing rules. By using the newly introduced
may_alias attribute ...
Currently `9pfs` returns 0 for any `ioctl` request (except for
`TIOCGWINSZ`), which leads to mul...
In the current form they impose very strong synchronization requirements,
making it impossible t...
The virtio drivers have both direct and indirect dependencies
on `uk/plat/common` headers.
Add ...
github.com/unikraft/unikraft - 55f128f948f2d9f4bfd16c942a2f83723cde75bd authored about 1 year ago by Michalis Pappas <[email protected]>
The pci driver has various dependencies on headers in `uk/plat/common`.
Add UK_PLAT_COMMON_BASE ...
The platform bus driver depeds on `uk/plat/common/cpu.h`. Add
UK_PLAT_COMMON_BASE to the library...
The script `mkukimg` can only be run on a Linux host. This commit adds a
check that stops execut...
This commit changes the scripts under `support/scripts` and
`support/build` so that they use the...
For future references this commit adds command variables for `readlink`
and `dirname`. On Darwin...
The build system depends on the GNU version of `grep`. Since this is
typically installed with `g...
The standard `cpio` tool available under Darwin is the equivalent of the
`bsdcpio` tool availabl...
This change adds the `print-loc` Makefile target which (fairly hackishly)
computes and prints st...
KConfig relies on GNU bison and does not work with the classical yacc.
While most Linux distribu...
vfscore contained internal calls to the dup2 syscall, which is not
universally provided on all a...