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
Implement the ukarch_random API for x86_64. The implementation
requires that both the RDRAND and...
Allow specifying protocol version, uname and aname in mount options.
Signed-off-by: Tu Dinh Ngo...
31f8173d0fc59442200aad0eaefc49ad905dfeb3 authored almost 2 years ago by Tu Dinh Ngoc <[email protected]>
The 9P protocol specifies that iounit may be zero. Make sure that writes
accept this value like ...
Signed-off-by: Tu Dinh Ngoc <[email protected]>
Reviewed-by: Eduard Vintilă <eduard.vintila47@...
Mount options of some filesystems (e.g. 9pfs) may contain a `=` sign.
Pass the whole argument as...
These two functions were not exposed by the nolibc library but are
implemented by vfscore.
Sign...
0a70f192cf70f331e566a87299764ff6e3cd137f authored almost 2 years ago by Marco Schlumpp <[email protected]>
The script was only used for silencing a warning. Doing the same with
grep is shorter and simple...
This hard-codes the permissions of the segments and assigns the sections
to the correct segments...
We now rely on the bootloader to properly load the Unikernel ELF file.
Therefore, we don't be ca...
The omagic flag has caused various issues such as having multiple
segments with different permis...
Fix summary on ukarch_random_u32/u64. Remove implementation-specific
information from ukarch_ran...
The sched refactor effort introduced a race condition: if the current
thread blocks and yields, ...
The parameter name in the documentation comment did not match the actual
parameter name of the f...
According to the comments the handlers should be able to return error
codes to signal a failure....
The event system is currently used for traps. In case, an event handler
returns an error, this p...
The example missed the event parameter, which must be specified.
Signed-off-by: Marco Schlumpp ...
76bbec53749c8058fec4a600e77146d8806abc6a authored almost 2 years ago by Marco Schlumpp <[email protected]>
Illegal memory accesses lead to a page fault exception and if
not handled properly crash the sys...
The current trap interface does not provide an event for
general protection faults. This is nece...
Generating seed values should be done using the ukarch_random_seed
interface, as it provides val...
This commits handles the _SC_PHYS_PAGES and _SC_AVPHYS_PAGES
value in sysconf. _SC_PHYS_PAGES re...
This commit adds the `uk_9pfs_setattr()` function that will write the given
attributes in the `v...
The actual usage passed and expected the parameters the other way
around.
Signed-off-by: Marco ...
e1d9cb8f19ec6a9985a19d2acf2a4c1fd3f4f3f2 authored almost 2 years ago by Marco Schlumpp <[email protected]>
The Aarch64 ABI requires 16 bytes of space after the `tlsp` pointer as
part of the TCB. However,...
GitHub-Fixes: #731
Signed-off-by: Eduard Vintilă <[email protected]>
Reviewed-by: Stefa...
GCC <= 9 gives a build warning when comparing builtin function arguments
with NULL. This is like...
For include directories the preprocessor searches the paths in
left-to-right order. In case of c...
Including `musl` with even simple apps and attempting to call
`lstat()` on `x86` results in an i...
Latest nightly compiler that this commit targets is:
`rustc 1.68.0-nightly (388538fc9 2023-01-05...
To make life easier for Cargo, Rust crates should add `ukrust`
as a dependency. We update `ukrus...
We add bcmp as a wrapper over memcmp.
Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@upb...
b6f0c55f5f2f2a649ed7657ede6f4cd313cf2474 authored about 2 years ago by Vlad-Andrei Badoiu <[email protected]>
The System V x86_64 ABI mandates that the stack must be aligned to 16
bytes. Recent compilers ha...
Signed-off-by: Razvan Deaconescu <[email protected]>
Signed-off-by: Marc Rittinghaus <marc@uni...
This commit introduces a new command-line argument which can be used
to overwrite the value of `...
`__UK_THREAD_INITTAB_ENTRY` was not including the termination function name
for generating the s...
The `posix-futex` library always registered the `set_tid_address` system
call to `syscall_shim` ...
The `uk_thread_uktls_var()` macro was placed in the middle of the thread
init table declaration ...
Writes the complete command of build_cmd into a file and executes it.
This avoids the size limit...
Signed-off-by: Robert Kuban <[email protected]>
Reviewed-by: Razvan Deaconescu <razva...
The current implementation of uksignal is incompatible with
the changes in the scheduling and th...
Replace macros and functions that connect to `nolibc` (i.e.
`!HAVE_LIBC`) when using Musl (or an...
LWIP has been updated to work with Musl. Headers and source code files
from LWIP have been remov...
LWIP has been updated to work with Musl. Headers and source code files
from LWIP have been remov...
LWIP has been updated to work with Musl. Headers and source code
files from LWIP have been remov...
LWIP has been updated to work with Musl. Headers and source code files
from LWIP have been remov...
LWIP has been updated to work with Musl. Headers and source code files
from LWIP have been remov...
The `-Wno-cast-function-type` build option is only present for GCC >= 8.
Update `Makefile.uk` to...
libc expects the `count` parameter of `getdents` to represent the output
buffer size. Unikraft ...
This commit introduces a skeleton for `clone` libc wrapper.
Signed-off-by: Simon Kuenzer <simon...
e18d2e4eab6820f5b702f6de6c7578859a8d1ba2 authored about 2 years ago by Simon Kuenzer <[email protected]>
Introduces a stub handler for the `CLONE_SYSVSEM` flag. The flag is set
by musl during thread cr...
`CLONE_FS` specifies if a cloned child shares the file system
information with the parent (mount...
`CLONE_FILES` specifies if a cloned child shares the file descriptor
table with the parent. Beca...
This commit introduces handler for `CLONE_PARENT_SETTID`,
`CLONE_CHILD_SETTID` ,`CLONE_THREAD`. ...
The `CLONE_SIGHAND` flag and the `CLONE_CLEAR_SIGHAND` flag are
currently stubbed but required b...
Introduces the Linux-style clone flag definitions to `<sched.h>`. The
flags are derived from mus...
At the moment, Unikraft does not support multiple process address
spaces. Because of this, the `...
This commit introduces debug messages that print the called parameters
and flags of a clone syst...
Similar to the `ctortab` or `inittab`, this commit introduces an inittab
that is used to registe...
Removes the unnecessary `ENOSYS` stubs of `fork` and `vfork`. `ENOSYS`
stubs are automatically c...
This commits implements an initial POSIX process abstraction. Processes
have a process ID, can c...
This commit introduces stubs for the wait system calls. It is a skeleton
in preparation of a rew...
Because we are going to replace step-wise the library implementation,
we move the current implem...
This commit provides an implementation for the `CLONE_CHILD_CLEARTID`
flag and introduces the re...
This commits implements the low-level version of the clone and clone3
system calls.
Signed-off-...
7deb65e579a9e2051209719e8e6ab32b979237be authored about 2 years ago by Simon Kuenzer <[email protected]>
This commits provides a handler for the historical `CLONE_DETACHED` flag
that existed during Lin...
Provides a configuration option to enable all debug messages within
the `posix-process` library....
When scheduling is available, we place the `errno` variable on the
thread local storage.
Signed...
bd461e7ca16bca16d0e6307421ce7c2cc1311c6a authored about 2 years ago by Simon Kuenzer <[email protected]>
Introduces Linux-style errno numbers (`errno.h`) and error message
strings (`string.c`). This is...
Currently `getdents` syscall is not properly implemented as it assumes
the layout `struct dirent...
This commit changes the printing function of uktest from printf
_uk_printk. This is needed becau...
For ioctl the error code was not returned at all. Poll had two error checks
and the second check...
The length field is zero by default for most allocation functions. The
virtio-net driver exposes...
When `lib/vfscore` is part of the build, but `lib/syscall_shim` isn't,
there is a warning of imp...
This commit removes the dir_with_patches optional parameter from
all the fetch rules that implem...
This commit adds an implementation of git clone command to the build
system to enable porting li...
The commits 3d5423 "lib/posix-socket: Use uk_syscall_e versions for
recvfrom / sendto" created c...
Linking of libraries with huge amounts of object files can lead to problems
if paired with a lon...
If the `UK_LIBC_SYSCALLS` macro is not set, then `__lxstat` is to be
provided by the libc. Since...
This commit fixes a typo in which the function`uk_thread_uktcb_fini()`,
as declared in the `tcb_...
Updates `.checkpatch.conf` to be inline with our current CI/CD system
settings.
Signed-off-by: ...
0792506d57142f274a1b28e292d75889a48d0361 authored about 2 years ago by Simon Kuenzer <[email protected]>
Because `checkpatch.pl` does only load a configuration from the current
working directory, this ...
Variadic system calls are system calls with a variable number of
arguments. Some of them become ...
This commit introduces two options for printing a debug message 1) when
a system call handler is...
The (internal) symbol declarations of `_uk_vprintd()` and `_uk_printd()`
are always provided. Th...
If `CONFIG_LIBSYSCALL_SHIM_HANDLER_ULTLS` is configured, system call
handlers can retrieve the c...
Introduces an option to save & restore the TLS pointer on binary system
calls. Unikraft's intern...
This commit moves the code of the binary system call handler to a
separate C file. This is done ...
Compiles the binary system call handler code as ISR-safe. Additionally,
the extended context is ...
Instead of initializing the default set of file descriptors with a
constructor function, we init...
This commit introduces system call return address tracking, which
is needed by some system call ...
Uses the build system's ability for generating source files from AWK
programs. This simplifies t...
This patch fixes undeclared function warning for the function halt() in
plat/kvm/arm/lcpu.c.
Si...
32d442c1dabc3a6911a9b49dea8b43a74e963d77 authored about 2 years ago by Julian Hartmer <[email protected]>
This commit fixes a compilation error thrown when
`Show caller information` is enabled in ukdebu...
I have added RLIMIT_DATA case to the resource switch in prlimit64 as it was required by libv8.
...
5e16759f5844876c7f5a9860e05d27c39e2a7775 authored about 2 years ago by Alex Apostolescu <[email protected]>
As uk_argnparse() modifies input strings in-place, it is required that
argb points to a mutable ...
The commits
- 5dcded660 "lib/vfscore: Replace lstat with unikraft syscall"
- a01c0b875 "lib/vf...
On x86, building apps with clang as a compiler fails due to nested
macro limitation. This commit...
This commit properly implements scatter/gather I/O for 9pfs by actually
iterating through all th...
This commit changes `uk_sched_start()` so that the resources
of the current context (stack, TLS)...
The `uk_sched_thread_create()` is re-factored to be more consistent with
the `uk_thread_create_*...
Calls the thread garbage collection as part of the idle thread in
order to give it lower priorit...