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

plat/linuxu: make linker script preprocessable

Commit 1d84f3dd98e ("build: make all linker scripts preprocessable")
introduced preprocessable l...

github.com/unikraft/unikraft - 12826719785958ac986ff9a6596b2af41fd398bd authored over 5 years ago by Florian Schmidt <[email protected]>
plat: Replace 0x1000 / 4096 with __PAGE_SIZE

Now that we have preprocessor support, we can use it to make some of
these numbers more expressi...

github.com/unikraft/unikraft - ad9dc4050a937493e4d566355795dbfba0e67a44 authored over 5 years ago by Florian Schmidt <[email protected]>
build: always produce 2 images: w/ and w/o debug syms

On contrary to previously existing scheme, the *.dbg image is a fully
functional binary now. A u...

github.com/unikraft/unikraft - 338095184b206024fa98a96e04310081ade6e354 authored over 5 years ago by Yuri Volchkov <[email protected]>
plat/kvm: set write protect flag in CR0

The last patch introduced read-only pages into the page table. However,
unless the WP flag is se...

github.com/unikraft/unikraft - 55f880995a7f4840296524f039fc4e8f63f704e1 authored over 5 years ago by Florian Schmidt <[email protected]>
plat/kvm: 4k-granularity page table for the first 2MB

The main effect is that trying to read or write from the null pointer or
very low addresses (tha...

github.com/unikraft/unikraft - c5a1134f94f322598c7036a233ff73823d48c53e authored over 5 years ago by Florian Schmidt <[email protected]>
plat/kvm: Replace numerical flags with defines in pagetable.S

Signed-off-by: Florian Schmidt <[email protected]>
Reviewed-by: Simon Kuenzer <simon.kue...

github.com/unikraft/unikraft - b89d91a8a4187f9c2265c71ff0472d3c8b595611 authored over 5 years ago by Florian Schmidt <[email protected]>
lib/ukunistd: Move utsname.h to ukunistd library

For newlib we will be using this same header, thus we move it to
ukunistd library.

Signed-off-b...

github.com/unikraft/unikraft - bbcb60ce66721a07a20c206e7dd427f0ec59feb2 authored over 5 years ago by Costin Lupu <[email protected]>
lib/uksysinfo: Introduce uksysinfo library

Library to provide access to info about system parameters. Only
fpathconf, sysconf, confstr, pat...

github.com/unikraft/unikraft - 8c9cd0ec969a103096dd67eec091f925469f8673 authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
lib/nolibc: Add utsname.h

The header was adapted from newlibc, release version 2.5.0.20170922.

Signed-off-by: Vlad-Andrei...

github.com/unikraft/unikraft - 2000379181e8b64dac565b624dfc36046de3f6a8 authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
lib/ukunistd: Add group related stubs

Signed-off-by: Vlad-Andrei Badoiu <[email protected]>
Reviewed-by: Costin Lupu ...

github.com/unikraft/unikraft - 06eb21a214fa90ca78490ebe541eef57340c4b22 authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
lib/nolibc: Enable pid_t type

The pid_t type is needed by pwd.h which is added in the next patch. This patch
enables it via a ...

github.com/unikraft/unikraft - a3569fdba4fbdeca41bfaa2ea5a75a70a518e1c9 authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
lib/nolibc: Add pwd.h

This patch adds the pwd.h header. The implementation follows the posix
specifications and is ins...

github.com/unikraft/unikraft - 2784ae201ba21520ceb467cf04f30d92b6e51825 authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
lib/ukunistd: Add user related stubs

Signed-off-by: Vlad-Andrei Badoiu <[email protected]>
Reviewed-by: Costin Lupu ...

github.com/unikraft/unikraft - f23c4343dd2094344ed67d0d3b2820dee4fe7bdb authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
lib/ukunistd: Move getuid.c to user.c

Signed-off-by: Vlad-Andrei Badoiu <[email protected]>
Reviewed-by: Costin Lupu ...

github.com/unikraft/unikraft - de28bf996395ad940e4e06fc4b831758deb1cc77 authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
plat/xen: Fix compilation error for Arm32

Patch a554f82f unified the symbol definition for linker script symbols.
They are now all pointer...

github.com/unikraft/unikraft - bdf2471c4884c65f1248206c282ed9f1879d332d authored over 5 years ago by Florian Schmidt <[email protected]>
build: Remove unnecessary /plat/Linker.uk

Since commit 9e3470a6a, `/plat/Linker.uk` includes each platform's
`Linker.uk` file by iterating...

github.com/unikraft/unikraft - 948bdd9d58222605dd5e527ec6248e9e831410d0 authored over 5 years ago by Simon Kuenzer <[email protected]>
arch/spinlock: Add spin_lock_irq variants

Spin_lock_irq* variants are used for synchronizing data that might be
accessed from within an in...

github.com/unikraft/unikraft - 7dee2061c86512846cbf5bf4e843e31f872d53be authored over 5 years ago by Cristian Banu <[email protected]>
lib/ukallocbbuddy: Fix the number of pages when resetting memory regions

If len=0x7ec2000, when using the formula we get memr->nr_pages=32448. On
the other hand range va...

github.com/unikraft/unikraft - 444d7be351e997455c9614e5fa16acf9d4d9f389 authored over 5 years ago by Costin Lupu <[email protected]>
plat/vfscore: Remove unused vfscore_fops structure

The vfscore_fops structure has been depreciated in
a recent patch. Now we're using vnops. This p...

github.com/unikraft/unikraft - eb9a7c50413cb8535e4ecfa8c04f787f3eeb8c57 authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
build: add debug symbols and comment sections to all linkers

Gcc generates them anyways. Let's take a little control over what it
does.

Signed-off-by: Yuri ...

github.com/unikraft/unikraft - e6a88d61f12d9e839289070969b435425587ee90 authored over 5 years ago by Yuri Volchkov <[email protected]>
build: disable build-id for libraries too

The option --build-id=none is enabled only for LDFLAGS, but not for
LIBLDFLAGS. This creates a s...

github.com/unikraft/unikraft - 1f5f7f3a20a036f84d65df8bf67ea31f3ab34dfa authored over 5 years ago by Yuri Volchkov <[email protected]>
build: add support to specify linking-stage makefile

By setting UK_PLAT_*_LINKER, a platform library can now set the path and
filename of the Linker....

github.com/unikraft/unikraft - 82b2d721b9c937c260b73778e2c4147e45137ae8 authored over 5 years ago by Florian Schmidt <[email protected]>
build/rules: M4 macro processor support

Adds a pre-processing rule generator for M4 macro processor
files (`.m4` extension).

Signed-off...

github.com/unikraft/unikraft - 5767e8254e823981021600d9edf55c952e97f294 authored over 5 years ago by Simon Kuenzer <[email protected]>
build/rules: Add support for pre-processing rules

Extends the build system with pre-processing rules. Any source file
can be pre-processed before ...

github.com/unikraft/unikraft - f0407d5878da3e101dfa619c7e263c96f52ce6a4 authored over 5 years ago by Simon Kuenzer <[email protected]>
build/rules: Provide `src2dst` function

`src2dst` converts a list of sources to paths pointing to their
corresponding destination files ...

github.com/unikraft/unikraft - 3e6bdb6920f8d8b521a2aa19a14afeb996c66585 authored over 5 years ago by Simon Kuenzer <[email protected]>
build: make all linker scripts preprocessable

This will allow to apply some code de-duplication, and makes build
system a little bit homogeneo...

github.com/unikraft/unikraft - 1d84f3dd898ed67b3a917ffe58a1017105704f8a authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/vfscore: export lseek

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

github.com/unikraft/unikraft - 34c7af996372835d89af98d8f75e7e16e6b1e261 authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/ramfs: initialize memory during expanding files

Malloc was used for expanding ramfs buffers during writes, which does
not have to allocate zeroe...

github.com/unikraft/unikraft - bfbeb7943f50241be2e2dc6433ac2f1dad290e94 authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/ukschedcoop: Enable library if uksched is enabled

Until now, enabling uksched did not enable ukschedcoop, which is the
only scheduler implementati...

github.com/unikraft/unikraft - d216e65da1b94ae0ffce526ac4077ce075e4379f authored over 5 years ago by Costin Lupu <[email protected]>
lib/uksched: Do not reset sched attribute on thread removal

Scheduler reference should be kept until destroying the thread,
basically during the entire life...

github.com/unikraft/unikraft - be218717979d4373986b27a941c4277dba21bb4c authored over 5 years ago by Costin Lupu <[email protected]>
lib/uknetdev: Destroy dispatcher thread using public scheduling API

When thread destruction is wanted, one should kill the thread and wait
for it in order to free i...

github.com/unikraft/unikraft - a256adf2edb2a5730fd5ebea4449fddc42eda19c authored over 5 years ago by Costin Lupu <[email protected]>
plat/kvm: Introduce platform configuration struct

Instead of having individual platform-global variables that hold
configuration found during setu...

github.com/unikraft/unikraft - 1fa094ed7d12fc4b03079d13a5816cf6223929ca authored over 5 years ago by Simon Kuenzer <[email protected]>
include/plat: Helper for finding first initrd

Introduces a helper macro that returns the first initramdisk module
found as memory region.

Sig...

github.com/unikraft/unikraft - 69ccac9ce25dece306cbedb6fdccd59b288a8ee3 authored over 5 years ago by Simon Kuenzer <[email protected]>
plat/kvm: Add initrd fields to configuration struct

In order to remember where an initrd was found in memory, we add
region definitions to the confi...

github.com/unikraft/unikraft - fb8c692c8c609757a1a4c6041659d3c169445afe authored over 5 years ago by Simon Kuenzer <[email protected]>
include/essentials: Introduce range test macros

Introduce macros to test if:
- a value is part of a number range
- two ranges are overlapping

S...

github.com/unikraft/unikraft - 25e99bca27fc0aa570ef09e21e30a9b94e9b6261 authored over 5 years ago by Simon Kuenzer <[email protected]>
include/plat: Add flags for initramdisk memory regions

Add region flags to specify memory regions that contain init
modules (initramdisks).
This patch ...

github.com/unikraft/unikraft - fa04f778224533eba6b0c9ad4c2464b1f4db518c authored over 5 years ago by Simon Kuenzer <[email protected]>
plat/kvm: x86: Retrieve initrd location from Multiboot

Inspects Multiboot modules information to retrieve the location of an
loaded initramdisk. It wil...

github.com/unikraft/unikraft - 26bfd453ef40089ebcbb3b884d37986277bf3d52 authored over 5 years ago by Simon Kuenzer <[email protected]>
lib/ukboot: Simplify heap initialization

Use the ukplat_memregion_foreach() macro to simplify initialization of
the memory allocator.

Si...

github.com/unikraft/unikraft - 6336687704c0728a207ef2a57069e93a62470b2b authored over 5 years ago by Simon Kuenzer <[email protected]>
include/plat: Helpers for iterating over memory regions

Introduces two helpers for iterating over memory region descriptors:
- One helper to find a memo...

github.com/unikraft/unikraft - d2b25283c0e12202dc831f82ad0750c5764a4480 authored over 5 years ago by Simon Kuenzer <[email protected]>
lib/uknetdev: Fix compiler warning

For stdio.h to provide the declaration of asprintf(), _GNU_SOURCE needs
to be defined. This need...

github.com/unikraft/unikraft - 70cf96eb22fd39fa3ec7e6350bcb77a048119534 authored over 5 years ago by Florian Schmidt <[email protected]>
lib/uksched: Initialize value thread_list in struct uk_waitq_entry

This fixes compiler warnings with g++.

Signed-off-by: Florian Schmidt <[email protected]...

github.com/unikraft/unikraft - 85fa9e16597b3ad1fb496221cb29911522671269 authored over 5 years ago by Florian Schmidt <[email protected]>
include/essentials.h: introduce compile-time assert

Macro UK_CTASSERT(cond) is borrowed from FreeBSD. If 'cond' is False,
compilation is aborted wit...

github.com/unikraft/unikraft - daf7a477e41938cc85cdf3e2b3b318eced0fdaca authored over 5 years ago by Yuri Volchkov <[email protected]>
build: protect constructors from elimination

Constructors do not work if CONFIG_OPTIMIZE_DEADELIM is enabled. From
the compile perspective al...

github.com/unikraft/unikraft - 45837e2d7750c056c8693c9bb6e316e43f87c804 authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/ukmpi: Provide blocking uk_mbox_recv()

Commit a48d634 ("lib/uklock: Use timeout equal to 0 for trying down a
semaphore") implicitly cha...

github.com/unikraft/unikraft - 303335fff348f5eab1b94d998580c9aa7b093db1 authored over 5 years ago by Simon Kuenzer <[email protected]>
lib/ukdebug: Fix buffer overrun in debug print routine

The printing routine miscalculated the amount of characters to print if
there were several newli...

github.com/unikraft/unikraft - ea0bf60996a546ac734ac8184ddf9c5785b4eddc authored over 5 years ago by Florian Schmidt <[email protected]>
plat: Fix ostensibly random crashes during boot

By putting the ALIGN inside the .preinit_array and .init_array sections
in the linker scripts, t...

github.com/unikraft/unikraft - 4f1cdc6902c7517fd615e591b689d1b47af81a30 authored over 5 years ago by Florian Schmidt <[email protected]>
lib/nolibc: Provide strerror(), strerror_r()

Signed-off-by: Simon Kuenzer <[email protected]>
Reviewed-by: Felipe Huici <felipe.huici@n...

github.com/unikraft/unikraft - 96771e43762457a6d931fc7795030355ab558ad5 authored over 5 years ago by Simon Kuenzer <[email protected]>
include/uk: add indirection to macro UK_CTOR_FUNC

If level is passed as a macro, the concatenation will paste the name
of the macro instead of the...

github.com/unikraft/unikraft - bca4734e74c67f0c89134fa90351315f30492581 authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/ukswrand: fix constructor priority definition

The priority constant had parentheses. This constant is passed into
UK_CTOR_FUNC, where parenthe...

github.com/unikraft/unikraft - de45ad09631d651a7cbca329132aae28210e1ba6 authored over 5 years ago by Yuri Volchkov <[email protected]>
build: Introduce OS macro `__Unikraft__`

Similar to other Unix-like OSes (e.g., Linux using `__linux__`,
FreeBSD using `__FreeBSD__`, Min...

github.com/unikraft/unikraft - f51f3bc33a0e0a842b84e38f35df5aaba7551e21 authored over 5 years ago by Simon Kuenzer <[email protected]>
lib/nolibc: Provide `ar.h` header

`ar.h` defines macros and data types for working with archive files
created with the Unix `ar` t...

github.com/unikraft/unikraft - a08a0beb92a4bcfceedb09c6b85ed3b424a1d2c7 authored over 5 years ago by Simon Kuenzer <[email protected]>
lib/nolibc: Provide assertions (assert.h)

Signed-off-by: Simon Kuenzer <[email protected]>
Reviewed-by: Felipe Huici <felipe.huici@n...

github.com/unikraft/unikraft - 8dba9141b4ec9b912afc77cb180463ad8266bb4b authored over 5 years ago by Simon Kuenzer <[email protected]>
lib/nolibc: Move fixed integer limit definitions to `stdint.h`

Following the C standard, this patch moves fixed integer limit
definitions (e.g., INT8_MIN, INT8...

github.com/unikraft/unikraft - 6b1b4b567bb9ddb430198cf63706b42dc71009bc authored over 5 years ago by Simon Kuenzer <[email protected]>
lib/ukalloc: Move internal functions to new header

Separates API functions from allocator internal functions. The new
header <uk/alloc_impl.h> shou...

github.com/unikraft/unikraft - 27af93b6d54b3a0ea6a944b6978c5dd4fe3b2cb3 authored over 5 years ago by Simon Kuenzer <[email protected]>
lib/vfs: expose remaining vfs functions

Expose the remaining non stubbed posix functions.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andre...

github.com/unikraft/unikraft - 51a0a8e4e72f9063bf99239f09d50fea0078e9bf authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
include/uk: Add page.h

This patch introduces 'page.h' which contains page related operations. For now
it contains only ...

github.com/unikraft/unikraft - 19ebca61d03d832bc61f1c52ea23f1fdd118a0ca authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
plat/*: Introduce unikraft internal constructors

This patch adds a new section for the ukplat_ctortab
array. The array is NULL-terminated and con...

github.com/unikraft/unikraft - 3a39d50ddf1ee5d6ffe0802246c22e33ee9660a6 authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
lib/ukboot: Call internal constructors

Signed-off-by: Vlad-Andrei Badoiu <[email protected]>
Reviewed-by: Sharan Santh...

github.com/unikraft/unikraft - 26dabea8974d4cc3f5f41ecba2a3e84e35378f3b authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
lib, plat/*: Update the existing constructor calls

This patch updates the constructor register from all
Unikraft internal libraries to use the UKPL...

github.com/unikraft/unikraft - eed111c37ddaa81f79517d58bf525894dad69f7e authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
plat/kvm: x86: Use `strncpy()` to retrieve cmdline

Use `strncpy()` to retrieve the command line in KVM. This is to
simplify the routine. Additional...

github.com/unikraft/unikraft - e6684de7b20b754ffd8f659e72fcff4c803736dd authored over 5 years ago by Simon Kuenzer <[email protected]>
build: Use `mk_sub_build_dir` for Kconfig build directories

This commit implements patch f897e6d8 with `mk_sub_build_dir`
instead. This change makes the way...

github.com/unikraft/unikraft - 105bc7ab98042b8700246164c2e50e3b3a12b128 authored over 5 years ago by Simon Kuenzer <[email protected]>
lib/vfscore: Fix typo in exported symbol name

This patch fixes a typo in the exportedvfscore symbols. It changes the
symbol readir to readdir....

github.com/unikraft/unikraft - c5227a6f4858798c10d07e857305c960bc0d4a86 authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
include/essentials: Fix redefinition warnings when using newlib

For some macrodefinitions, newlib headers do not care if they were
previously defined and this r...

github.com/unikraft/unikraft - d122268f13242123b092806251a846802bbff6de authored over 5 years ago by Costin Lupu <[email protected]>
lib/vfs: properly expose ftruncate

Fix typo that was preventing ftruncate from being exposed

Signed-off-by: Felipe Huici <felipe.h...

github.com/unikraft/unikraft - 1519dbfb89632a0492173544ec6b980797791b7f authored over 5 years ago by Felipe Huici <[email protected]>
lib/vfs: expose additional vfs functions

Expose vfs functions needed by a number of external libraries
(e.g., libuuid).

Signed-off-by: F...

github.com/unikraft/unikraft - 8189fa5ecd748148860dd445baf4a0ed7d60dd9a authored over 5 years ago by Felipe Huici <[email protected]>
lib/ukunistd: Introduce ukunistd library

Library to provide access to POSIX operating system APIs. Only
getuid is implemented for now.

S...

github.com/unikraft/unikraft - d7ab6740e7d6859d21dc81a0b83e7ba05494ac52 authored over 5 years ago by Felipe Huici <[email protected]>
plat/xen: Fix memregion index into _libxenplat_mrd

Commit d1aae7129b71 ("plat: Register eh_frame and eh_frame_hdr in
memory.h") added new memory re...

github.com/unikraft/unikraft - aa6dae66667c66999734211cd6c1319938f19bb9 authored over 5 years ago by Cristian Banu <[email protected]>
plat: Register eh_frame and eh_frame_hdr in memory.h

Signed-off-by: Vlad-Andrei Badoiu <[email protected]>
Reviewed-by: Sharan Santh...

github.com/unikraft/unikraft - d1aae7129b71df81c53fd47c9f1adf7db32098c9 authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
plat: Add the eh_frame and eh_frame_hdr sections

This patch adds the eh_frame and eh_frame hdr sections to
the linker script for both XEN and KVM...

github.com/unikraft/unikraft - 9fd88976409ae65f29637cf3baa24577df34b5d9 authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
plat/linuxu: add prefixes to prevent name clashes

The sa_* names as well as the CLOCK_* defines clash with newlib. To
prevent that, prefix them wi...

github.com/unikraft/unikraft - 21593e908a279f39597f3719eb738eb6fbb34bef authored over 5 years ago by Florian Schmidt <[email protected]>
plat/*: Separate plat lib linker scripts from others

The Unikraft build system provides a option to include additional
linker scripts. In the current...

github.com/unikraft/unikraft - 358fff92e9fcd2b13d5a40b7aba5dcc83a769e0b authored over 5 years ago by Sharan Santhanam <[email protected]>
plat/kvm: Remove additional tabs

Signed-off-by: Sharan Santhanam <[email protected]>
Reviewed-by: Costin Lupu <costin.lu...

github.com/unikraft/unikraft - 8534b1a60d34b16c3715f497989f2393b841f0e7 authored over 5 years ago by Sharan Santhanam <[email protected]>
plat/kvm: Split virtio-net from the virtio library

We add this patch to split virtio-net device from the virtio bus
library.

Signed-off-by: Sharan...

github.com/unikraft/unikraft - a7f4f2fc96939823c7631a708d3724f104180731 authored over 5 years ago by Sharan Santhanam <[email protected]>
plat/kvm: Use VIRTIO_BUS instead of VIRTIO

In our current build system, the virtio libraries are enabled
with the wrong CONFIG_VIRTIO optio...

github.com/unikraft/unikraft - 1ab8ad347417409abe8c00c4fc73ec100641f0f3 authored over 5 years ago by Sharan Santhanam <[email protected]>
plat/common: perform ACPI poweroff on shutdown for x86

Note that this is hypervisor/emulator-specific and currently only
supports QEMU (and whoever is ...

github.com/unikraft/unikraft - b9f5f9b2b855f3842d07c11e0a9c2405c8e6bf4f authored over 5 years ago by Florian Schmidt <[email protected]>
support/build: disable make built-in rules

When adding an externally-built object file to the Unikraft build via
[LIBNAME]_OBJS, the make b...

github.com/unikraft/unikraft - b6a88678e5d583a250d5b52ece80607ad55798e4 authored over 5 years ago by Felipe Huici <[email protected]>
build: fix build rules that expect directories

These two rules running during the prepare step expect build/kconfig/ to
exist. This happens to ...

github.com/unikraft/unikraft - f897e6d869c20c48742eaf26e33eb0088610ef0c authored over 5 years ago by Florian Schmidt <[email protected]>
plat/common: Zero out extregs area when creating new thread

Instructions such as xsave and xsaveopt, which are designed to save the
extended registers on re...

github.com/unikraft/unikraft - 448fc69474aaba560ae77bdfd6da0cab21ef0041 authored over 5 years ago by Florian Schmidt <[email protected]>
lib/ukschedcoop: Remove redundant config dependencies

ukschedcoop library needs nothing more than uksched library.

Signed-off-by: Costin Lupu <costin...

github.com/unikraft/unikraft - 5c518aed6312acbae219f489131249d7c799f603 authored almost 6 years ago by Costin Lupu <[email protected]>
lib/uksched: Add re-entrancy support for newlib

Re-entrancy in newlib is provided by mapping a _reent attribute to
each thread. The attribute en...

github.com/unikraft/unikraft - fc7fc50f3e903e6ca34509cbffb8371ebc7a109a authored almost 6 years ago by Costin Lupu <[email protected]>
lib/uksched: Add private field for user

The private field may be used by the user for holding its private
information in scheduling fram...

github.com/unikraft/unikraft - e717713e35dff9aec734603f7150abf56a89b41e authored almost 6 years ago by Costin Lupu <[email protected]>
lib/uksched: Set scheduler reference only if adding the thread was successful

Scheduler may reject adding threads if certain conditions are not met.
Therefore we set the sche...

github.com/unikraft/unikraft - 97fd5d20a62be3c8088ee9febd01c5ef51fc1504 authored almost 6 years ago by Costin Lupu <[email protected]>
lib/uksched: Revisit public scheduling functions

Currently, uk_sched_start and uk_sched_started are the only scheduler
functions (which do not co...

github.com/unikraft/unikraft - a1b61255940402d071e21637d501b2c4ae84397b authored almost 6 years ago by Costin Lupu <[email protected]>
arch/*: Add STACK_MASK_TOP bit mask

STACK_MASK_TOP is used for getting the current stack address (e.g. sp &
STACK_MASK_TOP).

Signed...

github.com/unikraft/unikraft - 7e597e5843ef9ec22ab5f028533339fb101583ba authored almost 6 years ago by Costin Lupu <[email protected]>
lib/uksched: Add function for allocating scheduler common info

We introduce uk_sched_create function which allocates the memory
needed for schedulers data. It ...

github.com/unikraft/unikraft - f34e1a77394c0271edd79f73ac373f56c02560bc authored almost 6 years ago by Costin Lupu <[email protected]>
lib/uksched: Add function for killing threads

Thread kill function replaces the thread destroy function as the
public function for triggering ...

github.com/unikraft/unikraft - cc23745b61a09c0e0c4eb0aae0e85d925fa48db6 authored almost 6 years ago by Costin Lupu <[email protected]>
lib/uksched: Add support for waiting threads

Similar to waiting processes, we introduce support for waiting
threads. This is the conventional...

github.com/unikraft/unikraft - 691b0fa6b457d20c5ad39ae5227a01958f5d1326 authored almost 6 years ago by Costin Lupu <[email protected]>
lib/uksched: Introduce detached flag for threads

By the default, detached flag is set on false meaning that one has to
wait for the thread in ord...

github.com/unikraft/unikraft - e3c30acc03a89f26532c65ca069e33aa2638c17d authored almost 6 years ago by Costin Lupu <[email protected]>
lib/uksched: Revisit thread exiting logic

We use a list for terminated threads on all schedulers because it
keeps references to those thre...

github.com/unikraft/unikraft - 0d8959601f535d96a889b3743946e7cdbd35a983 authored almost 6 years ago by Costin Lupu <[email protected]>
lib/uksched: Introduce thread attributes

We introduce a thread attributes abstraction which is used for
configuring thread behavior. The ...

github.com/unikraft/unikraft - 45d7afdb5bcb719cfd6096598470d15ab7c8409b authored almost 6 years ago by Costin Lupu <[email protected]>
lib/nolibc: add sleep()

sleep() can be implemented as a simple wrapper around nanosleep(), and
it's quite convenient for...

github.com/unikraft/unikraft - b43330fa53ccbfddc7bd1c3c72dbd40646b02701 authored almost 6 years ago by Florian Schmidt <[email protected]>
plat/kvm: streamline protected mode early boot code

Multiboot drops us into protected mode with a suitable set of segment
register settings [1], so ...

github.com/unikraft/unikraft - bca93c6ec22a53233748eb28906c1709515b80dc authored almost 6 years ago by Florian Schmidt <[email protected]>
build: Preprocess linker script as a source

The build system supports preprocessing of linker script. But in the
current implementation its ...

github.com/unikraft/unikraft - f7b78ca7064a509088d40ebbbc97e6c2c29fc085 authored almost 6 years ago by Sharan Santhanam <[email protected]>
plat/kvm: Remove superfluous pushes in early boot code

These seem to be a leftover from porting code from solo5, but don't
serve a purpose in our booti...

github.com/unikraft/unikraft - edb9a904cc8f36fd171e8437b276fe9642834147 authored almost 6 years ago by Florian Schmidt <[email protected]>
plat/kvm: readibility fixes

* Remove magic numbers from early boot code, replacing it with labels
and defines.
* Add and r...

github.com/unikraft/unikraft - fe4d95d8f664cfae3cf4c15e78da28affa6ef4da authored almost 6 years ago by Florian Schmidt <[email protected]>
plat/kvm: remove 32-bit GDT entry

Since we spend almost no time in 32-bit mode, and never do any calls or
returns, there's no reas...

github.com/unikraft/unikraft - c836155d6055d1b27ef45f0acd30fdeb60742c2b authored almost 6 years ago by Florian Schmidt <[email protected]>
build: Remove hard-coded dependency to Linker.uk

In our build system, we hard code Linker.uk for the supported
platforms. This patch uses the UK_...

github.com/unikraft/unikraft - 9e3470a6a1ec5a52a840b2716a07c33665499d12 authored almost 6 years ago by Sharan Santhanam <[email protected]>
build: plat library are build even when disabled

Platform-specific options are built even when they are
disabled in the configuration. This is fi...

github.com/unikraft/unikraft - 0d4fbe8c2a97b9df6d379f488c02ea125c49622f authored almost 6 years ago by Sharan Santhanam <[email protected]>
lib/nolibc: Add strtol function

The patch extends the nolibc strto* family of functions with strtol.
The implementation uses the...

github.com/unikraft/unikraft - 36559e92aadbed8b6aa2bec2a72a7f0041b53840 authored almost 6 years ago by Sharan Santhanam <[email protected]>
lib/nolibc: strto* returns ERANGE/EINVAL error codes

In accordance with the posix documentation, strto* functions shall
report ERANGE if the correct ...

github.com/unikraft/unikraft - 2c6d926ff27f6937bd2927de9d2de11db190195d authored almost 6 years ago by Sharan Santhanam <[email protected]>