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
This definition statically describes the d-cache line size in
bytes for {x86_64,arm,arm64}.
The...
github.com/unikraft/unikraft - 4424e4daa12bfa76f578e3dd9677203f6504e414 authored over 4 years agoThis commit adds an additional header with two new methods:
- uk_preempt_disable()
- uk_preem...
ARM does not support a pause-type instruction for busy spin wait
operations. This commit provid...
This commit introduces the new global `ukarch_spinwait` for x86
which calls the instruction `pau...
Setting a specific value to a choice config (from one of the libraries) cannot
overwrite a defau...
Add quotes to string symbol
Got a warning while trying to use "make kmenuconfig" saying the foll...
For now, unikraft will crash on arm64 in kvm mode if it is compiled using
optimize mode. Because...
Until recently we have been using -fno-split-stack for GO source.
This flag was dropped by mista...
The logic for unlinking is simplified, either:
- there are no open files, remove now;
- there ar...
Each 9p device keeps a free-list of 9p requests. This allows
allocations to take much less time,...
Use fixed-size request buffers instead of dynamically allocating new
receive and transmit buffer...
Even though 9p can continue execution if the negotiated message
size violates the 9p specificati...
This patch enables nanosecond-resolution tracing of 9pfs performance.
Excerpt from the output t...
github.com/unikraft/unikraft - b1634448714d247c2397af5896d4ecc3d2168880 authored over 4 years agoUnifies two if branches with common code in uk_9p_walk.
Signed-off-by: Cristian Banu <cristb@gm...
github.com/unikraft/unikraft - 73daaf93580a22dfcfc52e8141436b543223be11 authored over 4 years ago
This patch deletes the old serialization implementation and removes
the functions from exportsym...
This patch migrates 9p.c and 9pfs to use the new serialization
implementation.
Signed-off-by: C...
github.com/unikraft/unikraft - e222829b50fdef495bde1e010e2af18a39841a12 authored over 4 years ago
This patch implements serialization in a type-safe way: the compiler can
issue warnings if the d...
This patch tries to fix a few things about the PV configuration:
* First off, we introduce the h...
Expose FDTABLE_MAX_FILES from vfscore as the return value of
sysconf(_SC_OPEN_MAX) if CONFIG_LIB...
This patch removes the `dref()` line in `sys_open` which would result
in an unbounded growth of ...
This was overlooked when we introduced the changes for commit c6da55ad.
Signed-off-by: Radu Nic...
github.com/unikraft/unikraft - 85202e3b57e497e11093b6b1a0fc79b683fadaf7 authored almost 5 years ago
Signed-off-by: Radu Nicolau <[email protected]>
Reviewed-by: Costin Lupu <costin.lupu@cs....
Add error messages for both function calls to differentiate
which one produced an error.
Signed...
github.com/unikraft/unikraft - ca21f42330973cf4c3b0ecd1c8d3a7d74ed3d084 authored almost 5 years ago
Retry initializing the ring entries on receiving -EAGAIN error
from Xenstore.
Signed-off-by: Ra...
github.com/unikraft/unikraft - 223425f85f5853855ff173fe802e6d3324868745 authored almost 5 years ago
An assert would cause the blkfront_ring_fini() to fail because the function was
freeing zero pag...
dentry_alloc and dentry_move both create dentry d_path fields using
strdup, without checking for...
uk_asmdumpk is called in do_unhandled_trap, do_gp_fault, etc. regardless
of CONFIG_LIBUKDEBUG_PR...
If align == __PAGE_SIZE, we always allocate two pages more than the
requested size. This is not ...
Support CONFIG_FPSIMD in Unikraft app will take some overhead during
context switch. Hence still...
To use newlib on arm64 plat kvm, libgcc should be linked at the end of
the options list, otherwi...
There is no -mfpu=none compilation flag for gcc on arm. Typically we
don't disable hw support fo...
'isr' variant is to be called within interrupt safe context. Typically,
traps/exception/context-...
Write the sys reg to enable the fp/simd feature, otherwise it will
cause floating point/simd exc...
This config CONFIG_FPSIMD is to enable the support for arm64 fp feature.
Fp is for application ...
Floating point feature is useful for some applications. We should
save/restore fp registers duri...
This commit introduces another set of special build system variables
which can be used to set op...
Similar to exporting symbols, this patch introduces the option to
localize symbols. The file for...
Adds support such that `$(LIBNAME_EXPORTS)` can contain a list of symbol
export files instead of...
This fixes the issue that the tracepoint section was not added to the
image when vfscore wasn't ...
Provide `__unalign` attribute in `<uk/essentials.h>`. It is defined as
byte-alignment.
Signed-o...
github.com/unikraft/unikraft - fb1a5dd6faa543eabfd6266c16e8a61706f6cd28 authored almost 5 years ago
Introduces the option to automatically generate libc-style system call
stubs for unavailable sys...
Provide a variant to the general and raw system call function
uk_syscall() and uk_syscall_r() th...
Instead of declaring the return type for `UK_(LL)SYSCALL_R_DEFINE()`
functions as `long`, the us...
Introduces the hidden Config.uk option `LIBSYSCALL_SHIM_NOWRAPPER` to
disable the generation of ...
Some system calls have different signatures and return types on the
libC API and the Linux syste...
We adapt the scandir implementation for musl to work
with our vfscore implementation.
Signed-of...
github.com/unikraft/unikraft - 6945fec0d817b30926cd11d8c16eb9241917daed authored almost 5 years ago
This qsort implementation is an adapted version of android bionic's
qsort. It is the Qsort routi...
Show disassembled failed instruction on crash outputs with
`uk_asmdumpk()`. This functionality i...
This commit introduces `uk_asmdumpd()` and `uk_asmdumpk()`. These
methods print, for a given ins...
This commit moves the output demultiplexer from hexdump to an own
place so that it could be used...
Provide `void abort(void)` implementation with `<stdlib.h>`.
The function terminates the kernel ...
Commit cec8989904ac ("build: Introduce COMPFLAGS(-y) and ARCHFLAGS(-y)")
moved -fms-extensions f...
The TSC clock frequency is currently estimated using the i8254 timer over a
period of 0.1s. This...
-mgeneral-regs flag was introduced since gcc 7.1 on x86_64. Using
it as a mandatory flag cause c...
Prints available command line variables with the help target.
Signed-off-by: Simon Kuenzer <sim...
github.com/unikraft/unikraft - 3bbfd904b827ade65d002e7a2b757a49d438abc0 authored almost 5 years ago
Moves the detection of submake call to a place after the command-line
variables are processed. T...
Prints an overview of used paths (config file, build dir, libraries,
etc.) with verbose output.
...
Adds the make parameter `C=` which can be used to specify a different
path for the configuration...
Stops building with an error message when L= (external libraries)
contains at least on library t...
Stops building with an error message when P= (platform libraries)
contains at least on library t...
Stops building with an error message when O= (build output directory)
is not an absolute path. T...
Stops building with an error message when A= (application directory)
is not an absolute path. Th...
Adds an option to select the baudrate for the serial port that is used
for kernel and/or debug o...
The code taken from musl.
File: src/string/strtok_r.c
Commit Id: 400c5e5c8307
Signed-off-by: Sh...
github.com/unikraft/unikraft - 3f3b4a01523beb7abb74349adc71143efce9b25c authored almost 5 years ago
We move UK_SWRAND_CTOR_PRIO to uk/swrand.h. This enables other libraries to base
their construct...
Document the reserved `isr` variant.
Signed-off-by: Simon Kuenzer <[email protected]>
Rev...
Strip leading and trailing whitespaces from all given arguments
at the buildrule demultiplexer `...
Forward the variant argument down to the actual buildrule. This is a
preparation to implement va...
Move language-independent and target-independent compiler flags to
COMPFLAGS(-y) and target-spec...
This is done for consistency reasons. Build-related variables for C++
units are also prefixed wi...
In order to compile functions that can be called within interrupt
context, we introduce the rese...
Signed-off-by: George Muraru <[email protected]>
Reviewed-by: Simon Kuenzer <simon.kuenzer...
This patch introduces the function responsible of processing
responses from the queue.
Responses...
This patch adds the rest of the interface for virtio block device which
is found in the specs.
N...
This patch introduces the request interface.
The following steps are:
-> find a free spot in th...
This patch introduces start/stop operations to virtio device.
This implies connection to backend...
This patch introduces the flush requests.
This operation garantees that all previous write reque...
This patch introduces the initialization of the virtqueue used for
communication to Backend.
Si...
github.com/unikraft/unikraft - 9f98f62ba06bb05f09db2ef24c1f18458c0029f5 authored almost 5 years ago
This patch introduces the configuration of block device consisting of:
-> finding multi-queue-ma...
This patch registers virtio-blk with libukblkdev.
Signed-off-by: Roxana Nicolescu <nicolescu.ro...
github.com/unikraft/unikraft - 54639b1847ef5bbf4eb5937878ac6d03ebc5b238 authored almost 5 years ago
This patch introduces the initialization of virtio block device.
First, the driver sets what fea...
This patch introduces support for the user to enable/disable interrupts
on queues.
Signed-off-b...
github.com/unikraft/unikraft - e8be316446fa477d1191a306a514b3b95bc70a46 authored almost 5 years ago
This patch allocates the queues used for communication with the device.
One queue is responsible...
This patch introduces the virtio block driver skeleton.
Signed-off-by: Roxana Nicolescu <nicole...
github.com/unikraft/unikraft - 7e119e676a7e6414082a9323678ca9977f36ebfe authored almost 5 years agoThis patch introduces the release of an individual virtqueue.
Signed-off-by: Roxana Nicolescu <...
github.com/unikraft/unikraft - a6989618bdc7750e934615418599fbbd5b942dbf authored almost 5 years ago
This patch introduces the function which checks
if a queue has some pending requests.
Signed-of...
github.com/unikraft/unikraft - 486bb6d5eab5ed9dd1c61e4b79a4ac99406f8814 authored almost 5 years ago
Initializing the virtio bus without driver results in a "Failed to
initialize bus driver" error ...
vfscore_vget returns 1 if the vnode was found in cache, 0 otherwise.
If we fall back to allocat...
github.com/unikraft/unikraft - 45fe80c6413c931e1c21af1797c0d8c5b768a4ad authored almost 5 years ago
futimesat allocates buffers via malloc and dereference returned
pointers without NULL checking, ...
mmap allocates buffers via malloc and dereference returned pointers
without NULL checking, causi...
struct vnode as it is returned by vfscore_vget is in a mostly
uninitialized state. Apart from v_...
+ make sure realsize does not overflow in uk_malloc_ifpages and
uk_posix_memalign_ifpages.
+ m...
Replaces the hard-coded switch case that selects the build rule based
on file extension with an ...
Signed-off-by: Alexander Jung <[email protected]>
Reviewed-by: Simon Kuenzer <simon.kuenzer@nec...
Release: 0.4 Rhea
Signed-off-by: Simon Kuenzer <[email protected]>
Signed-off-by: Sharan ...
fhold(fp) is called before checking for !fp, leading to null pointer
dereference if the allocati...
Replace the document listing additional resources with a link to the
resources area of the newly...
Calls `support/scripts/gitsha1` from the Unikraft base folder. The
script supposely detects the ...
Signed-off-by: Alexander Jung <[email protected]>
Reviewed-by: Simon Kuenzer <simon.kuenzer@nec...
Before this commit, GCC warned that __SZ_MAX was exceeding the maximum
object size.
Signed-off-...
github.com/unikraft/unikraft - 46a5e79167f6920eb2254236248fae3bac3b6195 authored almost 5 years ago