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

arch: Define the cache line size for each architecture

This definition statically describes the d-cache line size in
bytes for {x86_64,arm,arm64}.

The...

4424e4daa12bfa76f578e3dd9677203f6504e414 authored over 4 years ago
include: Introduce uk/preemmpt.h

This commit adds an additional header with two new methods:

- uk_preempt_disable()
- uk_preem...

38b19bee8619b9ac14ab2f9ae2ac078706876e91 authored over 4 years ago
arch/arm: Provide ukarch_spinwait() function

ARM does not support a pause-type instruction for busy spin wait
operations. This commit provid...

9c110fde56f5af7f7805ed457df8d49388656997 authored over 4 years ago
arch/x86: Provide ukarch_spinwait() function

This commit introduces the new global `ukarch_spinwait` for x86
which calls the instruction `pau...

c27fb3b2ed0d9e19b6ae88eab0d7202e0f0fc88d authored over 4 years ago
Remove default value

Setting a specific value to a choice config (from one of the libraries) cannot
overwrite a defau...

5fd9d0cb83fa7d3a471f518608f14d1619792766 authored over 4 years ago
Quotes to symbol

Add quotes to string symbol
Got a warning while trying to use "make kmenuconfig" saying the foll...

6f6597364d5ffb2844ef66c7190f7515cc24696f authored over 4 years ago
arm64: rewrite io r/w helper to avoid kvm crash.

For now, unikraft will crash on arm64 in kvm mode if it is compiled using
optimize mode. Because...

028a75ddb4731f7620c00ee4d98dedb0580725ff authored over 4 years ago
build: Add -fno-split-stack

Until recently we have been using -fno-split-stack for GO source.
This flag was dropped by mista...

6bfc9558f20b822bb0f35dc5601da8f66486eb42 authored over 4 years ago
lib/9pfs: Simplify the logic for removes

The logic for unlinking is simplified, either:
- there are no open files, remove now;
- there ar...

b133afc00ff4659d28b960347f5898288e465bdd authored over 4 years ago
lib/uk9p: Recycle uk_9preq allocations

Each 9p device keeps a free-list of 9p requests. This allows
allocations to take much less time,...

bc96ccfb902df43a9808303353c8345d0c1b2719 authored over 4 years ago
lib/uk9p: Use fixed-size request buffers

Use fixed-size request buffers instead of dynamically allocating new
receive and transmit buffer...

9ffd873b839de1ee48cdd294461aaaa315349eeb authored over 4 years ago
lib/uk9p: Change severity of uk_9p_version log

Even though 9p can continue execution if the negotiated message
size violates the 9p specificati...

489f037f74023092cf017d24d0379cbb496366a0 authored over 4 years ago
lib/uk9p: Add uk_traces

This patch enables nanosecond-resolution tracing of 9pfs performance.

Excerpt from the output t...

b1634448714d247c2397af5896d4ecc3d2168880 authored over 4 years ago
lib/uk9p: Simplify uk_9p_walk serialization

Unifies two if branches with common code in uk_9p_walk.

Signed-off-by: Cristian Banu <cristb@gm...

73daaf93580a22dfcfc52e8141436b543223be11 authored over 4 years ago
lib/uk9p: Delete the old serialization

This patch deletes the old serialization implementation and removes
the functions from exportsym...

0a29c0f3509c108bac03b65162ad796edc5f4863 authored over 4 years ago
lib/uk9p: Switch to using the new serialization

This patch migrates 9p.c and 9pfs to use the new serialization
implementation.

Signed-off-by: C...

e222829b50fdef495bde1e010e2af18a39841a12 authored over 4 years ago
lib/uk9p: Add new serialization mechanism

This patch implements serialization in a type-safe way: the compiler can
issue warnings if the d...

0f10bf5428121c71a447295857db24133f48ee27 authored over 4 years ago
plat/xen: Revisit configuration options for PV

This patch tries to fix a few things about the PV configuration:
* First off, we introduce the h...

823867fb031dae3f0c87d2fe33cc40eea49a5529 authored over 4 years ago
lib/vfscore: Expose max fds to sysconf

Expose FDTABLE_MAX_FILES from vfscore as the return value of
sysconf(_SC_OPEN_MAX) if CONFIG_LIB...

f587ed23d35e48361cbaa0d6840b860aba5951a9 authored almost 5 years ago
lib/vfscore: Fix double refcounting bug

This patch removes the `dref()` line in `sys_open` which would result
in an unbounded growth of ...

87eda96a71d826f4d1f50ce475b10d51d176b5b6 authored almost 5 years ago
plat/xen/x86/mm.c: Fix _arch_rebuild_p2m() call

This was overlooked when we introduced the changes for commit c6da55ad.

Signed-off-by: Radu Nic...

85202e3b57e497e11093b6b1a0fc79b683fadaf7 authored almost 5 years ago
blkfront_xs.c: Fix compile warning generated by wrong print specifier

Signed-off-by: Radu Nicolau <[email protected]>
Reviewed-by: Costin Lupu <costin.lupu@cs....

5501ec66121f1a5f78f6258293c73daf930ce32e authored almost 5 years ago
blkfront.c: Increase error reporting verbosity

Add error messages for both function calls to differentiate
which one produced an error.

Signed...

ca21f42330973cf4c3b0ecd1c8d3a7d74ed3d084 authored almost 5 years ago
plat/xen/drivers/blk: Retry writing rings info on getting -EAGAIN

Retry initializing the ring entries on receiving -EAGAIN error
from Xenstore.

Signed-off-by: Ra...

223425f85f5853855ff173fe802e6d3324868745 authored almost 5 years ago
plat/xen/drivers/blk: Fix freeing ring pages

An assert would cause the blkfront_ring_fini() to fail because the function was
freeing zero pag...

22f34cc0e6ccaf403545417f74ed0bdb108547ab authored almost 5 years ago
lib/vfscore: fix null pointer dereferences

dentry_alloc and dentry_move both create dentry d_path fields using
strdup, without checking for...

149661dd7f6c4f28f0011459194ecbc69204dcde authored almost 5 years ago
lib/ukdebug: always provide uk_asmdumpk

uk_asmdumpk is called in do_unhandled_trap, do_gp_fault, etc. regardless
of CONFIG_LIBUKDEBUG_PR...

5add1d1df5fa50f104e13c1164d743e72f4e8f06 authored almost 5 years ago
lib/ukalloc: fix memory wastage in uk_posix_memalign_ifpages

If align == __PAGE_SIZE, we always allocate two pages more than the
requested size. This is not ...

307a6bdd8197fe340152eb80b73e9916d3b442e2 authored almost 5 years ago
arch/arm64: Don't pass -mgeneral-regs-only when CONFIG_FPSIMD is y

Support CONFIG_FPSIMD in Unikraft app will take some overhead during
context switch. Hence still...

b9ee0bd4d008636a3e6b5dfb606d4ce374520a50 authored almost 5 years ago
build: Link libgcc at the end of the link options list

To use newlib on arm64 plat kvm, libgcc should be linked at the end of
the options list, otherwi...

eddaa9b242daffca42074e0cd404b9b900c3842b authored almost 5 years ago
arch/arm64: Fix -mfpu=none when not supporting fpsimd

There is no -mfpu=none compilation flag for gcc on arm. Typically we
don't disable hw support fo...

8fcada7ea47debff670be2e4e2b96712a12b60cc authored almost 5 years ago
build: Add 'isr' variant for arm64 kvm plat source files called within irq context

'isr' variant is to be called within interrupt safe context. Typically,
traps/exception/context-...

e0782e9c0748e4af3130575b1ea7aedbb664cddf authored almost 5 years ago
plat/kvm: arm64: Enable the fp/simd at the starting point

Write the sys reg to enable the fp/simd feature, otherwise it will
cause floating point/simd exc...

3ebbac892d4aac6c92c1ffa15d2a0c69ef47a5cc authored almost 5 years ago
plat: build: Add a config option to enable fp on arm64

This config CONFIG_FPSIMD is to enable the support for arm64 fp feature.
Fp is for application ...

a32859fb53837a72b888f2f8d0bb91917ae528bb authored almost 5 years ago
plat/arm: Support fp/simd save/restore during context switch

Floating point feature is useful for some applications. We should
save/restore fp registers duri...

ae2ad30698e12260699783a65ee50e16513193dd authored almost 5 years ago
build: Option to set sources, object, alibs, and symbol localization for each library

This commit introduces another set of special build system variables
which can be used to set op...

7e0b3862ecd01c655b27c5d138497d52225d2a18 authored almost 5 years ago
build: Provide option to localize symbols (LIBNAME_LOCALS(-y))

Similar to exporting symbols, this patch introduces the option to
localize symbols. The file for...

edf1f55800a1675db083bac15ba61b2c17a04a75 authored almost 5 years ago
build: Support multiple symbol export files

Adds support such that `$(LIBNAME_EXPORTS)` can contain a list of symbol
export files instead of...

79f362a8580c36fce862e918be1d6bcd45671236 authored almost 5 years ago
lib/ukdebug: Include tracepoint linker script when tracing is enabled

This fixes the issue that the tracepoint section was not added to the
image when vfscore wasn't ...

85faa03860b80b1dcf364e9981ecd306d23b4c99 authored almost 5 years ago
include: Provide `__unalign` attribute

Provide `__unalign` attribute in `<uk/essentials.h>`. It is defined as
byte-alignment.

Signed-o...

fb1a5dd6faa543eabfd6266c16e8a61706f6cd28 authored almost 5 years ago
lib/syscall_shim: Option to generate libc-style stubs

Introduces the option to automatically generate libc-style system call
stubs for unavailable sys...

717826120788a718ccd6c78a3e07cf605bbe4bbd authored almost 5 years ago
lib/syscall_shim: Provide uk_vsyscall(), uk_vsyscall_r()

Provide a variant to the general and raw system call function
uk_syscall() and uk_syscall_r() th...

df6e65230e94fa8e86423cff17eb4bab92ef14a6 authored almost 5 years ago
lib/syscall_shim: `UK_(LL)SYSCALL_R_DEFINE()`: Use given return type

Instead of declaring the return type for `UK_(LL)SYSCALL_R_DEFINE()`
functions as `long`, the us...

5cea5ae9b310bce13611e3fea7409d3d0da8147a authored almost 5 years ago
lib/syscall_shim: Option to disable libc-style wrapper functions

Introduces the hidden Config.uk option `LIBSYSCALL_SHIM_NOWRAPPER` to
disable the generation of ...

99ae434e9bd0bbfbf00496c9d54c511447da86c0 authored almost 5 years ago
lib/syscall_shim: UK_LLSYSCALL_(R_)_DEFINE variants

Some system calls have different signatures and return types on the
libC API and the Linux syste...

037ababa2202a1655f2ac27cc78079669c53db25 authored almost 5 years ago
lib/vfscore: Add scandir

We adapt the scandir implementation for musl to work
with our vfscore implementation.

Signed-of...

6945fec0d817b30926cd11d8c16eb9241917daed authored almost 5 years ago
lib/nolib: Add qsort

This qsort implementation is an adapted version of android bionic's
qsort. It is the Qsort routi...

2ca4210a1f4df04d0345988970a968f6562ba2a2 authored almost 5 years ago
plat/common/x86: Disassemble failed instruction on crashes

Show disassembled failed instruction on crash outputs with
`uk_asmdumpk()`. This functionality i...

11e9ebf99b70bb6cd22974d827d776ff50d87123 authored almost 5 years ago
lib/ukdebug: Provide uk_asmdumpd(), uk_asmdumpk()

This commit introduces `uk_asmdumpd()` and `uk_asmdumpk()`. These
methods print, for a given ins...

6d002616e407ca533ea6a8f026ed3ffd6a054db8 authored almost 5 years ago
lib/ukdebug: Move hexdump output demultiplexer

This commit moves the output demultiplexer from hexdump to an own
place so that it could be used...

a7e608e06c1d1efab367a9e737b7d27630b0f11f authored almost 5 years ago
lib/nolibc: Provide abort()

Provide `void abort(void)` implementation with `<stdlib.h>`.
The function terminates the kernel ...

175af43b205c32c8280243a7626233898d660004 authored almost 5 years ago
build: Remove flag -fms-extensions for CFLAGS

Commit cec8989904ac ("build: Introduce COMPFLAGS(-y) and ARCHFLAGS(-y)")
moved -fms-extensions f...

f1a43d037b0ffb766e14ca467de81ec80886deb5 authored almost 5 years ago
plat/kvm/x86: retrieve TSC frequency from hypervisor if available

The TSC clock frequency is currently estimated using the i8254 timer over a
period of 0.1s. This...

a4cf6565b4cc9bacddc8628195142d5fcfc4ffeb authored almost 5 years ago
build: Move -mgeneral-regs-only to optional flag

-mgeneral-regs flag was introduced since gcc 7.1 on x86_64. Using
it as a mandatory flag cause c...

e99dfc8fdaf3ec84693da052a4c4d139c5dff5eb authored almost 5 years ago
build: Show command line variables in help

Prints available command line variables with the help target.

Signed-off-by: Simon Kuenzer <sim...

3bbfd904b827ade65d002e7a2b757a49d438abc0 authored almost 5 years ago
build: Move detection of submake call after cmdline variables

Moves the detection of submake call to a place after the command-line
variables are processed. T...

27733af29b6d9b116a1cecaf9da62e3587956a94 authored almost 5 years ago
build: Print overview of used paths with V=1

Prints an overview of used paths (config file, build dir, libraries,
etc.) with verbose output.
...

82e3a98a3f080eb003e9dfbee299c591b951dd6c authored almost 5 years ago
build: C= build parameter for specifying `.config` path

Adds the make parameter `C=` which can be used to specify a different
path for the configuration...

a35b9e1138d754f313329f8d7842ca0e75c4c217 authored almost 5 years ago
build: Test parameter L= containing absolute paths only

Stops building with an error message when L= (external libraries)
contains at least on library t...

5a3f883ba765e216d3813cd145a67fa890372ee0 authored almost 5 years ago
build: Test parameter P= containing absolute paths only

Stops building with an error message when P= (platform libraries)
contains at least on library t...

af8387bff630225a87893c045aaedddeecf76de4 authored almost 5 years ago
build: Test parameter O= to be an absolute path

Stops building with an error message when O= (build output directory)
is not an absolute path. T...

e3661c92f5b9f42f5fd3a79465200ad38411b5b8 authored almost 5 years ago
build: Test parameter A= to be an absolute path

Stops building with an error message when A= (application directory)
is not an absolute path. Th...

02c62e65832d2345f57e94e3cef8fa47026d33a7 authored almost 5 years ago
plat/kvm: Option for serial baudrate (x86)

Adds an option to select the baudrate for the serial port that is used
for kernel and/or debug o...

0c8e0834027dbdb402cdd6d4d043082f802423b5 authored almost 5 years ago
lib/nolibc: Introduce strtok_r

The code taken from musl.
File: src/string/strtok_r.c
Commit Id: 400c5e5c8307

Signed-off-by: Sh...

3f3b4a01523beb7abb74349adc71143efce9b25c authored almost 5 years ago
Move UK_SWRAND_CTOR_PRIO to uk/swrand.h

We move UK_SWRAND_CTOR_PRIO to uk/swrand.h. This enables other libraries to base
their construct...

6ecca6876e89b615f991e7d887c6374259ff9eaa authored almost 5 years ago
doc: Document reserved `isr` variant

Document the reserved `isr` variant.

Signed-off-by: Simon Kuenzer <[email protected]>
Rev...

1d8a1f14f1ed1c84a64520862cd0be9955a2333b authored almost 5 years ago
build: buildrule: Strip arguments

Strip leading and trailing whitespaces from all given arguments
at the buildrule demultiplexer `...

ae7392f7e73a97bf6300b14478bdc635f12bceda authored almost 5 years ago
build: Forward variant to build rules

Forward the variant argument down to the actual buildrule. This is a
preparation to implement va...

4668dbb73a793f61770d11269fcf98e14debbfe6 authored almost 5 years ago
build: Introduce COMPFLAGS(-y) and ARCHFLAGS(-y)

Move language-independent and target-independent compiler flags to
COMPFLAGS(-y) and target-spec...

cec8989904ac4dce95ecb44c82104d9a4d378541 authored almost 5 years ago
build: Rename C++ buildrule to buildrule_cxx

This is done for consistency reasons. Build-related variables for C++
units are also prefixed wi...

dd865ae80ef26608a7bde88829e44fc1c1f20b51 authored almost 5 years ago
arch/*, build: Introduce reserved `isr` variant

In order to compile functions that can be called within interrupt
context, we introduce the rese...

d79cf19dfb34a494d894706ce99d7db33929d523 authored almost 5 years ago
README.md: Fix typo in readme

Signed-off-by: George Muraru <[email protected]>
Reviewed-by: Simon Kuenzer <simon.kuenzer...

ef6c664f516c5c9c1572d227bfb810ab77b01219 authored almost 5 years ago
plat/drivers: Handle responses from backend for virtio block

This patch introduces the function responsible of processing
responses from the queue.
Responses...

56cef52975bcb50919e883ad2ce77fcbf1f340f3 authored almost 5 years ago
plat/drivers: Add rest of the interface for virtio block

This patch adds the rest of the interface for virtio block device which
is found in the specs.
N...

0d8b2f2516b212dd660868fac15e15c90f85976e authored almost 5 years ago
plat/drivers: Request interface for virtio block

This patch introduces the request interface.
The following steps are:
-> find a free spot in th...

519d160c8b237775cb38f212c3409a9bd08e5325 authored almost 5 years ago
plat/drivers: Start virtio block device

This patch introduces start/stop operations to virtio device.
This implies connection to backend...

08f25439a2c41d7dd60c31d0ffe5b187320900f6 authored almost 5 years ago
plat/drivers: Flush requests for virtio block

This patch introduces the flush requests.
This operation garantees that all previous write reque...

7dbb27c203ab8c6849134d9efdb145c4f72c4d89 authored almost 5 years ago
plat/drivers: Configure virtio block queue

This patch introduces the initialization of the virtqueue used for
communication to Backend.

Si...

9f98f62ba06bb05f09db2ef24c1f18458c0029f5 authored almost 5 years ago
plat/drivers: Configure virtio block device

This patch introduces the configuration of block device consisting of:
-> finding multi-queue-ma...

2d5af83c6f97ee1aeed33f6b10104440f7bc31c5 authored almost 5 years ago
plat/drivers: Register virtio-blk with libukblkdev

This patch registers virtio-blk with libukblkdev.

Signed-off-by: Roxana Nicolescu <nicolescu.ro...

54639b1847ef5bbf4eb5937878ac6d03ebc5b238 authored almost 5 years ago
plat/drivers: Init virtio block device

This patch introduces the initialization of virtio block device.
First, the driver sets what fea...

01e1bb73940eff63e4397e597e85e13b6f7e121f authored almost 5 years ago
plat/drivers: Enable/disable interrupts on virtio block queues

This patch introduces support for the user to enable/disable interrupts
on queues.

Signed-off-b...

e8be316446fa477d1191a306a514b3b95bc70a46 authored almost 5 years ago
plat/drivers: Create virtio-block queues

This patch allocates the queues used for communication with the device.
One queue is responsible...

4cbd7e6ea3cbf61297f3e151af55004628c6329e authored almost 5 years ago
plat/virtio: Skeleton for virtio block driver

This patch introduces the virtio block driver skeleton.

Signed-off-by: Roxana Nicolescu <nicole...

7e119e676a7e6414082a9323678ca9977f36ebfe authored almost 5 years ago
plat/virtio: Release an individual virtqueue

This patch introduces the release of an individual virtqueue.

Signed-off-by: Roxana Nicolescu <...

a6989618bdc7750e934615418599fbbd5b942dbf authored almost 5 years ago
plat/virtio: Introduce virtqueue_hasdata function

This patch introduces the function which checks
if a queue has some pending requests.

Signed-of...

486bb6d5eab5ed9dd1c61e4b79a4ac99406f8814 authored almost 5 years ago
plat/drivers: Fix spurious bus driver initialization error message.

Initializing the virtio bus without driver results in a "Failed to
initialize bus driver" error ...

17db8166ade39ca4f2d8b3ace3d48f0a6c996dd4 authored almost 5 years ago
lib/vfscore: fix invalid error code

vfscore_vget returns 1 if the vnode was found in cache, 0 otherwise.

If we fall back to allocat...

45fe80c6413c931e1c21af1797c0d8c5b768a4ad authored almost 5 years ago
lib/vfscore: fix null pointer dereferences

futimesat allocates buffers via malloc and dereference returned
pointers without NULL checking, ...

89a0eb82e4051b8f0b0a3bdcdd6083fb834cc633 authored almost 5 years ago
lib/ukmmap: fix null pointer dereferences

mmap allocates buffers via malloc and dereference returned pointers
without NULL checking, causi...

cd99cc7933f6916fe8f802b2790fd18ba0a2bbab authored almost 5 years ago
lib/vfscore: fix use of uninitialized struct vnode fields

struct vnode as it is returned by vfscore_vget is in a mostly
uninitialized state. Apart from v_...

2e0b48e8ca70cc637c253a83dcf5c17bb67b9350 authored almost 5 years ago
lib/ukalloc: fix multiple unsigned overflows

+ make sure realsize does not overflow in uk_malloc_ifpages and
uk_posix_memalign_ifpages.
+ m...

090b3e9b9fc5912a871da2478aa19e0a83b642dd authored almost 5 years ago
build: Extensible build rules

Replaces the hard-coded switch case that selects the build rule based
on file extension with an ...

fb06844f02ab4ce2e7250451b348a06e3021c2dd authored almost 5 years ago
doc: Update kraft documentation with new flags and tutorials.

Signed-off-by: Alexander Jung <[email protected]>
Reviewed-by: Simon Kuenzer <simon.kuenzer@nec...

20b9023bbf49e6bd08ebb11a6810c1360876b14b authored almost 5 years ago
Release: 0.4 Rhea

Release: 0.4 Rhea

Signed-off-by: Simon Kuenzer <[email protected]>
Signed-off-by: Sharan ...

00bbf2cf50e87e28dd764f5c74615058fce69d34 authored almost 5 years ago
lib/vfscore: fix null pointer dereference

fhold(fp) is called before checking for !fp, leading to null pointer
dereference if the allocati...

9f3666d278eea09c1dab9bcba2768a95f9bd7d10 authored almost 5 years ago
doc/users: replace resources with link to Unikraft website.

Replace the document listing additional resources with a link to the
resources area of the newly...

42b7d338f1fa6cba55298397549a09cb36b55a4b authored almost 5 years ago
build: Call `gitsha1` from Unikraft base

Calls `support/scripts/gitsha1` from the Unikraft base folder. The
script supposely detects the ...

72e70b04675ebd1a9654c0315bfda7b9444d748b authored almost 5 years ago
doc: Update kraft documentation

Signed-off-by: Alexander Jung <[email protected]>
Reviewed-by: Simon Kuenzer <simon.kuenzer@nec...

f6965acfce94e29bec348e030972a298a61695da authored almost 5 years ago
include: Define __SZ_MAX to the same value as __SSZ_MAX

Before this commit, GCC warned that __SZ_MAX was exceeding the maximum
object size.

Signed-off-...

46a5e79167f6920eb2254236248fae3bac3b6195 authored almost 5 years ago