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
For Linux x64 it is supposed to be of type `unsigned long`, yet we
had it defined as `unsigned i...
It's not possible to call a print function in an interrupt context,
because these are not ISR sa...
GitHub-Fixes: #818
Co-authored-by: Nikos Oikonomou <[email protected]>
Signed-off-by: Nikos ...
The currently used syscall shim macro handles a return value of -1
by setting the return value t...
MAP_SHARED_VALIDATE is defined as 3, while MAP_PRIVATE is defined
as 2. A MAP_PRIVATE will thus ...
The mmap() call does not return the allocated virtual address via the
addr argument.
Signed-off...
aa9edfc4add288cb3623bac323e00e494e2e8b6a authored almost 2 years ago by Marc Rittinghaus <[email protected]>
Although using IST does not allow nested exceptions we go back to
a dedicated stack for regular ...
Signed-off-by: Razvan Deaconescu <[email protected]>
Signed-off-by: Marc Rittinghaus <marc@uni...
PT_BUFP prints binary buffer content human readable but had one
particular problem: Due to incom...
Currently, the user stack is used as kernel stack. This can be
a problem if the stack is not ali...
This commits introduces aligns stack allocation that are done by
`lib/uksched` to the requiremen...
This commit adds the tls_load segment that is needed for the .tdata
section.
Signed-off-by: Mar...
0fa6ab0186fb97756019f30e0890ca882ffa266b authored almost 2 years ago by Marc Rittinghaus <[email protected]>
This commit adds the tls_load segment that is needed for the .tdata
section.
Signed-off-by: Mar...
603068e8b75b787082a9c2fe2737659fc4e8e2f1 authored almost 2 years ago by Marc Rittinghaus <[email protected]>
When building Unikraft a warning might pop up stating that
the allocated section .tdata is not a...
Preliminary fix: Unikraft expects memory regions in the boot info
to not overlap and be page ali...
This commit adds the tls_load segment that is needed for the .tdata
section.
Signed-off-by: Mar...
535745bf00c501c55b76d1cbc2c551811b5a2e8f authored almost 2 years ago by Marc Rittinghaus <[email protected]>
This commit adds the tls_load segment that is needed for the .tdata
section.
Signed-off-by: Mar...
91e63e07d5df5919bc28d0a78d06b88a7013cc64 authored almost 2 years ago by Marc Rittinghaus <[email protected]>
This commit introduces initial print format and decoding definitions for
the following system ca...
This commit introduces initial print format and decoding definitions for
the following system ca...
This commit introduces initial print format and decoding definitions for
the following system ca...
This commit introduces initial print format and decoding definitions for
the following system ca...
Registers `libuktest` unit tests for append operations of C-strings to a
streambuf object.
Sign...
3f39a18376498028ed8fe11fe678b2d2fc7743cb authored almost 2 years ago by Simon Kuenzer <[email protected]>
Registers `libuktest` unit tests for initialization and basic operations of
a streambuf object.
...
The library will provide helper functions and macros to simplify dealing
with appending of data ...
This commit removes the unit test dependency of `lib/posix-futex` to
syscall_shim which caused a...
This commit introduces the option to enable a strace-like output for binary
system calls. The op...
This commit introduces an initial implementation of `uk_snprsyscall()` and
`uk_vsnprsyscall()`, ...
This commit removes the macros `__UK_SYSCALL_NARGS()` and
`__UK_SYSCALL_DEF_NARGS()` and replace...
Increase the number of supported arguments of `UK_NARGS()` from 7 to 25.
Signed-off-by: Simon K...
c47bff7b4a7f19981524a2c60605ffc92aa42268 authored almost 2 years ago by Simon Kuenzer <[email protected]>
Registers `libuktest` unit tests for append operations of binary data to a
streambuf object.
Si...
85b938c4678c6f2e365510cf575b8131098b5b61 authored almost 2 years ago by Simon Kuenzer <[email protected]>
This commit introduces append operations for C-strings:
- `uk_streambuf_printf()`, `uk_streambuf...
This commit introduces initial print format and decoding definitions for
the following system ca...
This commit introduces append operations for binary data:
- `uk_streambuf_memcpy()`: Append a co...
This commit introduces functions to allocate and/or initialize a streambuf
object for a given me...
When asserts are disabled we get warnings about unused args. This
commit silences the warnings.
...
If printing of source line and file is disabled, we get warnings about
srcline and srcname not b...
The parent variable was not used outside the assert. This leads to a
warning when asserts are di...
PR #722 (Boot code refactoring) introduced an update to
`struct ukplat_memregion_desc` where the...
Signed-off-by: Michalis Pappas <[email protected]>
Reviewed-by: Maria Sfiraiala <maria.sfiraia...
With the addition of the ukarch_random() API it is now possible to
generate PAuth keys without d...
This commit fixes a typo in the ukplat_memregion_find_initrd0 macro.
Signed-off-by: Marc Rittin...
e0c98d94be9c9b870de9ef146b94bb19a0fda540 authored almost 2 years ago by Marc Rittinghaus <[email protected]>
Signed-off-by: Delia-Maria Pavel <[email protected]>
Reviewed-by: Stefan Jumarea...
Signed-off-by: Delia-Maria Pavel <[email protected]>
Reviewed-by: Stefan Jumarea...
Currently, the macro uses the shift to define the mask. However, the
mask is determined by the n...
This commit introduces PT_Lx_PTE_SET_PADDR() which allows
to set the physical address in a page ...
This commit adds the posix-mmap library that implements the POSIX
memory-mapping related functio...
When ukvmem is available, we can represent the heap as a virtual
memory area. This has the advan...
This commit adds bit definitions for parsing x86_64 page fault
error codes.
Signed-off-by: Marc...
49d97bd83846166ab09007405fcbd712e5fad51b authored almost 2 years ago by Marc Rittinghaus <[email protected]>
This commit updates the function documentation in the platform paging
header to the new coding c...
The current implementation uses the heap to allocate memory for the
virtio queues. This is probl...
ukplat_page_unmap() ignores non-existent PTEs and just goes on to the
next PTE in the memory ran...
Currently, the pg_ffree() function already ignored any errors, but it
has an assert to check if ...
The current ukplat_page_map() functions allows to map a range of virtual
pages to physical ones ...
For temporary mappings of physical memory within the unikernel,
it is useful to have a fast alte...
To be able to invoke the frame allocator from within a page fault
handler, we need to compile it...
To be able to invoke the paging code in the context of a page fault
handler, we need to build it...
The PAGE_ATTR_PROT_RW and PAGE_ATTR_PROT_RWX definitions should
be available even when the <uk/p...
When ukvmem is activated a warning may be observed during build
about ps being potentially unini...
This commit introduces a macro called PAGE_SHIFT_Lx() that is
the reverse operation of PAGE_Lx_S...
ukvmem provides the means to perform virtual address space management
where each virtual address...
In the boot refactoring, we replaced the statically allocated command
line buffer with a dynamic...
The class is usually not precise enough to identify the correct driver
for a device. For example...
This commit replaces a small gcc-ism from plat/common/pci_ecam.c that
makes impossible any clang...
When looking for MTU information, instead of checking for the
VIRTIO_NET_F_MTU feature flag, the...
Currently, we don't notify the virtio-net device of available RX buffers
on driver start, meanin...
fix a leak in the buddy allocator init routine.
and an extra fix which subtract the bitmap size
...
Use fields and field types for nolibc `stat` structure to make it
compatible with Linux. It is r...
Adds an event which is triggered when an IRQ occurs. The event handler
has access to the IRQ num...
The trap handlers already pass on the registers to the handler
functions. This passes them to th...
PR #691 adds the possibility to return error codes from the event
handler. In the context of int...
The previous changes to the event hide if the last handler that
successfully handled the event a...
The variable used didn't match the one defined in the platform part and
therefore the specified ...
The sysinfo structure defines the `reserved` buffer. This is however not
present on Linux, meani...
The TSC is not synchronized perfectly on some systems. Examples of such
systems are multi-socket...
The diagnostic can check for various issues related to doxygen
documentation comments. A list of...
Signed-off-by: Radu Nichita <[email protected]>
Reviewed-by: Stefan Jumarea <stefanjumarea...
The ported ext* filesystem supports tracks the access time by
default. By specifying this flag, ...
The ext* filesystem port supports the usage of these flags.
Signed-off-by: Marco Schlumpp <marc...
fb5d3a866d42f2b7c2aaf07b002d7806be625300 authored almost 2 years ago by Marco Schlumpp <[email protected]>
Signed-off-by: Stefan Jumarea <[email protected]>
Reviewed-by: Razvan Deaconescu <razvan...
The information about the kernel segments available as part of the
boot information at runtime i...
This commit adds a platform internal memory region list type based
on the public memory region d...
Currently, every boot protocol (e.g., multiboot, Linux Boot Protocol)
must come with their own c...
Adapts the XEN code to the new memory region descriptor
and listing functions.
Signed-off-by: M...
3ec186b558abb0c563d2ef2e10ec9cf30573fd89 authored almost 2 years ago by Marc Rittinghaus <[email protected]>
Adapts the linuxu code to the new memory region descriptor
and listing functions.
Signed-off-by...
732df5ae694410634d978048a029b1719266e2cd authored almost 2 years ago by Marc Rittinghaus <[email protected]>
With the new boot information every boot protocol must come with
entry code that transforms the ...
Multiboot uses bits in the flags field to specify what fields are
available. The commit adds def...
Adapts the existing code to the changed declaration of the memory
region descriptor.
Signed-off...
442b1e5038364c4b079ce438d56a8e417214019c authored almost 2 years ago by Marc Rittinghaus <[email protected]>
Adapts the XEN/arm code to the new memory region descriptor
and listing functions.
Signed-off-b...
cb00309fa70055b29c9f6b5957a086ebd581cb47 authored almost 2 years ago by Marc Rittinghaus <[email protected]>
To use protocol-specific names for boot protocol entry functions
we need to remove the platform ...
Previously, the heap has been initialized in the platform code and
information about the heap ar...
Adapts the XEN/x86 code to the new memory region descriptor
and listing functions.
Signed-off-b...
d732a7f6bcbb3e5d3bc9c0bc6c4df05e5d5ecf0d authored almost 2 years ago by Marc Rittinghaus <[email protected]>
Currently the multiboot definitions span across two headers. The one
that is used in C code only...
Previously, the entries of the memory region list were dynamically
created at runtime based on t...
This commit introduces a boot protocol-independent
platform initialization based on the unikraft...
This commit removes the no longer needed uk_bootinfo structure header.
Signed-off-by: Marc Ritt...
8a366930a3e6548d369db76382ef469b04affe12 authored almost 2 years ago by Marc Rittinghaus <[email protected]>
With different boot protocols providing different entry functions
we can no longer statically de...
The commit extends the memory region descriptor in multiple ways to
make it ready to be used wit...
The previous search function only accepted exact matches. The new
search function extends this b...
This commit just adapts the documentation style of the unmodified
functions to be inline with th...
Adapts the existing code to work with the new definition of the
memory region descriptor.
Signe...
fac37da39f4ba7626361d3cbd6cb4ee3b41f3b73 authored almost 2 years ago by Marc Rittinghaus <[email protected]>