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

lib/ukboot: Updates for inlining with platform and scheduling changes

Changes:
* init the IRQ subsystem
* init the timer after memory allocator initialization
* enabl...

github.com/unikraft/unikraft - c6d29929dce676c744053b73a2c6718501032636 authored over 6 years ago by Costin Lupu <[email protected]>
arch/x86_64: Add function for stack pointer retrieval

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

github.com/unikraft/unikraft - 73d9c704029858ed01686b26d17c563eab1156ce authored over 6 years ago by Costin Lupu <[email protected]>
plat/common: Common x86 CPU interrupt flag handling

Introducing new header for native interrupt flag functions.

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

github.com/unikraft/unikraft - 2c3ca554f3924b32b01e4e261343053ce4c3d940 authored over 6 years ago by Costin Lupu <[email protected]>
include/uk: Add `extern C` to `plat/time.h`

Make include/uk/plat/time.h header usable with C++

Signed-off-by: Simon Kuenzer <simon.kuenzer@...

github.com/unikraft/unikraft - c5b9312a797b17b7f5bc6e261d962eec4c9693cf authored over 6 years ago by Simon Kuenzer <[email protected]>
plat/common: Common x86 threading code

We define a new primitive - the software context - used in context switching for
cooperative sch...

github.com/unikraft/unikraft - b18c01228e36e4d9134be79490d2adc5f51db900 authored over 6 years ago by Costin Lupu <[email protected]>
lib/uksched: Updates for inlining with plat/common changes

When creating a new thread, the scheduler allocates the stack, sets the thread
address on the st...

github.com/unikraft/unikraft - c9a0515f3dd1639df9225c38af48e8866b151b07 authored over 6 years ago by Costin Lupu <[email protected]>
arch/x86_64: Add nop() macro

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

github.com/unikraft/unikraft - f6ba13741c72775e07037aafa1963dd87546e526 authored over 6 years ago by Costin Lupu <[email protected]>
lib/ukdebug: Print bottom of stack instead of thread name

The option of printing the thread name of the one
issueing a uk_printd() call did not work all t...

github.com/unikraft/unikraft - 5ba14cb4389c9eb0fa2105184a92c9c193a3686f authored over 6 years ago by Simon Kuenzer <[email protected]>
plat/kvm: Remove prints before console is initialized (x86)

Remove debug print before the console is initialized because
this print is going to the same con...

github.com/unikraft/unikraft - f85c858b20e27e7d6ebb2a9fb486fc37b1c4d608 authored over 6 years ago by Simon Kuenzer <[email protected]>
plat/kvm: Place early boot code to the start of the image (x86)

Places early boot code (e.g., 64bit mode switch) and
data (e.g., GDT) to the start of the image....

github.com/unikraft/unikraft - e27ffaa8c25145356f6a9d5f913d9809338d584a authored over 6 years ago by Simon Kuenzer <[email protected]>
build: use -p1 instead of -p0 in patch command

The -p1 is more commonly used. And, what is more important, this is
the way git generates patche...

github.com/unikraft/unikraft - d35ae74b0b39ccbd36197f22b8ab4a10fb73f814 authored over 6 years ago by Yuri Volchkov <[email protected]>
doc: Reduce pressure in 'selector' choosing instructions

The sentence "cross your fingers that the reviewer(s) do(es) not
complain" sounds a bit too hars...

github.com/unikraft/unikraft - a5da3c7ab53c8e0b9899ac20fd2c7af6efdc5781 authored over 6 years ago by Yuri Volchkov <[email protected]>
build: Add -no-pie to GCC flags

On Debian distributions (e.g., Debian/Ubuntu), the GCC has the
"-pie" flag enabled by default. I...

github.com/unikraft/unikraft - cc7eb555080775cf2cb4a595a07b6121ff0f7361 authored over 6 years ago by Wei Chen <[email protected]>
lib/ukboot: Call constructors from initarrays

Call initialization/constructor functions listed in
preinit_array and init_array during early bo...

github.com/unikraft/unikraft - bdbe4587f5899d1225f55c227d806b6a54d102c7 authored over 6 years ago by Simon Kuenzer <[email protected]>
include: Add ctors.h header for iterating over init arrays

Adds `ctors.h` header that provide helper macros and defintions
for iterating over preinit_array...

github.com/unikraft/unikraft - 651011f943dc80f2d8b5afd2b961b8b1704fa7c5 authored over 6 years ago by Simon Kuenzer <[email protected]>
include/essentials: Provide constructor macros

Provide constructor attribute macros for marking a
function symbol as constructor. The linker/co...

github.com/unikraft/unikraft - cee3c82026b7a0b64591f8fe1908c947e61a304a authored over 6 years ago by Simon Kuenzer <[email protected]>
plat/kvm: Add preinit_array and init_array sections (x86)

Adds preinit_array and init_array sections with the linker script.
Those sections are populated ...

github.com/unikraft/unikraft - 2562b217ee11dd4e4b92d2cc99a4d95456f3ec7e authored over 6 years ago by Simon Kuenzer <[email protected]>
plat/xen: Add preinit_array and init_array sections (x86, ARM)

Adds preinit_array and init_array sections with the linker script.
Those sections are populated ...

github.com/unikraft/unikraft - c268d51ed2cc4276df09bf089e9b61f75c2fb979 authored over 6 years ago by Simon Kuenzer <[email protected]>
plat/kvm: Align linker script with Xen platform ones

The linker scripts of Xen and KVM diverged too much. This patch
is aligning KVMs with the ones f...

github.com/unikraft/unikraft - 53a85c758286c3299c9ea5e23281c5d43174461f authored over 6 years ago by Simon Kuenzer <[email protected]>
include/essentials: Provide __used, __section macros

Provide attribute macros for marking symbols as used
and for specifying a target section for a s...

github.com/unikraft/unikraft - dbef5ced55a743295b2b3a0e87f212a95aa3fb0a authored over 6 years ago by Simon Kuenzer <[email protected]>
build: Use GCC replacements for `ld`, `ar`, and `nm`

Instead of using `ld`, `ar`, and `nm`,
use GCC's replacements.
This opens further optimizations ...

github.com/unikraft/unikraft - 6685166914481c67aa724139998833103a97b673 authored over 6 years ago by Simon Kuenzer <[email protected]>
lib/ukdebug: Separate condition string from format in UK_ASSERT, UK_WARNIF

Whenever a condition expression for UK_ASSERT() and UK_WARNIF()
is not fulfilled, the macros str...

github.com/unikraft/unikraft - 4dfb8975bfc3afaa5746450a7e470b44a08e9fb0 authored over 6 years ago by Simon Kuenzer <[email protected]>
build: Provide LTO as build option

Introduces a build option that enables link time optmizations (LTO).
When enabled, GCC is doing ...

github.com/unikraft/unikraft - 2f2779bb46cb75c2783daf7486eb38952dec3c69 authored over 6 years ago by Simon Kuenzer <[email protected]>
lib/ukalloc: uk_posix_memalign_ifpages: Return zero on success

According to the Linux Programmer's Manual,
posix_memalign() returns zero on success instead
of ...

github.com/unikraft/unikraft - a323fbd67ac3cb21139633b300a024538167493e authored over 6 years ago by Kenichi Yasukata <[email protected]>
plat/kvm: Fix __packed macro usage in multiboot.h

When using nolibc, multiboot_mmap_entry structure layout was padded
instead of packed because th...

github.com/unikraft/unikraft - 0dba10c0881d36605d33233b6490f3bd1dc527c9 authored over 6 years ago by Costin Lupu <[email protected]>
lib/uksched: Add waiting queue

Waiting queues are used for managing threads that wait for some
condition to become true. The im...

github.com/unikraft/unikraft - 3bf8a296b8ead5fb0a89044d69fb0d0ead49ae01 authored over 6 years ago by Costin Lupu <[email protected]>
lib/ukdebug: Add thread info to debug messages

Add the name of the thread to the debug messages.
If the name is null or the thread was not crea...

github.com/unikraft/unikraft - 4a55e18d382fed28e569408119320482c9cec419 authored almost 7 years ago by Dafna Hirschfeld <[email protected]>
lib/ukdebug: Add timestamp to debug messages

Add timestamp to the debug messages.
The timestamp is retrieved from the platform's
monotonic cl...

github.com/unikraft/unikraft - 98d3888a020e46fc965a319fa0343bd26174d109 authored almost 7 years ago by Dafna Hirschfeld <[email protected]>
arch/time: Add macro for the subsecond part of nanoseconds

Add macro that retrieve the subsecond part of the
given nanoseconds.

Signed-off-by: Dafna Hirsc...

github.com/unikraft/unikraft - 2c6c1a19bbd86f240a1c3ba5180806f38074bb3a authored almost 7 years ago by Dafna Hirschfeld <[email protected]>
arch/time: Add macros for printing nanoseconds types

Add macros for printing __nsec and __snsec types
withing formatted string.

Signed-off-by: Dafna...

github.com/unikraft/unikraft - 501288aad9da0922f077690df5fdc48879a8322a authored almost 7 years ago by Dafna Hirschfeld <[email protected]>
build: use -MD for generating .d files

We do not need to run compiler second time with the same flags plus
'-MM', and modify destinatio...

github.com/unikraft/unikraft - 80f9769330ac86f1cccf413135c20ab5570ef0ab authored almost 7 years ago by Yuri Volchkov <[email protected]>
build: fix unconditional full recompilation

Files app.uk and elib.uk are regenerated always, but config.h depends
on both of them. And becau...

github.com/unikraft/unikraft - 51c0364c20ec51c32c2b172d64c55ad52bf16939 authored almost 7 years ago by Yuri Volchkov <[email protected]>
doc/developers: Fix typos in directory and file names

Replace 'uc' with 'uk' in a directory and file names.

Signed-off-by: Dafna Hirschfeld <dafna3@g...

github.com/unikraft/unikraft - 0c21879f138c5377032838676848c8d75b407ec3 authored almost 7 years ago by Dafna Hirschfeld <[email protected]>
doc/*: Fix spelling typos

Fix spelling typos found with 'spell' command.

Signed-off-by: Dafna Hirschfeld <[email protected]...

github.com/unikraft/unikraft - 0ed197163afc28dd38624e177721aee73827a4b9 authored almost 7 years ago by Dafna Hirschfeld <[email protected]>
plat/kvm/x86: Prevent removing of variables put into .bss.* sections

When using -fdata-sections option of gcc, global and static variables
are placed into .bss.varna...

github.com/unikraft/unikraft - f6c13cea7d5f269c840169b2136c0125e84e5074 authored almost 7 years ago by Costin Lupu <[email protected]>
build: Prefix UK_PLAT_ to platform's BASE variables

In order to be inline with the naming of UK_PLAT_BASE
and UK_PLAT_COMMON_BASE, populate platform...

github.com/unikraft/unikraft - cac0440f6928c254eafe9cb678a64fd779e43787 authored almost 7 years ago by Simon Kuenzer <[email protected]>
plat/*: Expose UK_PLAT_BASE, UK_PLAT_COMMON_BASE variable

Expose UK_PLAT_BASE and UK_PLAT_COMMON_BASE Makefile variable
to simplify code-organization. The...

github.com/unikraft/unikraft - fda7b1cad9033c769e16ef1e9e318e30628b437f authored almost 7 years ago by Simon Kuenzer <[email protected]>
plat/xen: Console reading support for x86_64

Implements ukplat_cink() for Xen. The code is ported
from Mini-OS. It currently works for x86_64...

github.com/unikraft/unikraft - 62f107bf6e41d48f6baf45fb453274b0ce04de2f authored almost 7 years ago by Simon Kuenzer <[email protected]>
lib/ukalloc: Add assertion to page allocator compatibility wrapper

uk_get_real_start() is used by the compatibility wrapper
to figure out the address of meta infor...

github.com/unikraft/unikraft - 0b27cb097bc2fd64494905b0091f44f518027bb8 authored almost 7 years ago by Simon Kuenzer <[email protected]>
lib/ukalloc: Correct uk_pfree() interface behaviour

As designed, every allocator interface calls a *_do_*()
variant which actually implements the op...

github.com/unikraft/unikraft - a9a4201d1d49e2ada488d0df8bee982c22617939 authored almost 7 years ago by Simon Kuenzer <[email protected]>
plat/xen: Fix symbol displacement while linking (x86)

The current linker script might not place _libxenplat_start, shared_info or
hypercall_page at lo...

github.com/unikraft/unikraft - d2f9536b8e15b39897ca3c4e8fa8796954172758 authored almost 7 years ago by Bruno Alvisio <[email protected]>
plat/xen: Fix memory set read-only (x86)

Function _init_mem_set_readonly should skip setting to read-only the
mapped _libxenplat_shared_i...

github.com/unikraft/unikraft - df4b792c5f69dd39945c82c4369ce07c1230fbc8 authored almost 7 years ago by Bruno Alvisio <[email protected]>
plat/*: Move generic platform configuration to submenu

Move generic platform configuration options to a new
platform configuration submenu called "Plat...

github.com/unikraft/unikraft - 6303facc2dd63823a305bac54e888a573a1c67c1 authored almost 7 years ago by Simon Kuenzer <[email protected]>
plat/*: Add memory region names

Add configuration option that enables a name field in
struct ukplat_memregion_desc (inlucde/uk/p...

github.com/unikraft/unikraft - f8adb579015c9d1c7deebc417632d7e99c232486 authored almost 7 years ago by Simon Kuenzer <[email protected]>
plat/xen: Include Unikraft config header within console.c

uk/config.h is required for console.c. The option XEN_DBGEMERGENCY
is exposed by it. The config ...

github.com/unikraft/unikraft - 8b94640c82706ad691c03845ff92e8e9bb288288 authored about 7 years ago by Simon Kuenzer <[email protected]>
plat/xen: Do not discard characters on console

Retry sending characters to console ring instead of discarding
them whenever the ring is full (b...

github.com/unikraft/unikraft - b28fb3f18726c40d6ec5bd43415b7e55240ae80d authored about 7 years ago by Simon Kuenzer <[email protected]>
plat/xen: Add console support for x86_64

Console support is ported from Mini-OS. It currently
works for x86_64 only.

Signed-off-by: Simo...

github.com/unikraft/unikraft - 0bc9633a01380829d53d0796fd8be6b7859b23f7 authored about 7 years ago by Simon Kuenzer <[email protected]>
arch/x86_64: Change CPPFLAGS to CXXFLAGS

C++ flags weren't being properly propagated.

Signed-off-by: Felipe Huici <[email protected]...

github.com/unikraft/unikraft - 40b7ff0aaab379bd0d8aa3acb31fc0f07120bb5c authored about 7 years ago by Felipe Huici <[email protected]>
arch/arm: Change CPPFLAGS to CXXFLAGS

C++ flags weren't being properly propagated.

Signed-off-by: Felipe Huici <[email protected]...

github.com/unikraft/unikraft - 56025fcea3487d8ef94a9280c3b9a3b2f3513f1e authored about 7 years ago by Felipe Huici <[email protected]>
doc/contributing: Reference to MAINTAINERS.md in introduction

Add a reference to the MAINTAINERS.md file in the introduction.

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

github.com/unikraft/unikraft - b890a7329ee7aa46a7a713c5c1623e4e3290617e authored about 7 years ago by Simon Kuenzer <[email protected]>
doc/contributing: Add project name as prefix to all patches

As long as Unikraft uses a shared mailing list with mini-os,
all patches should be prefixed with...

github.com/unikraft/unikraft - 73c2ce8f8bc4ca08841ad8baf883733097e4631b authored about 7 years ago by Simon Kuenzer <[email protected]>
build: Protect from building without bootstrapping library

Adds a feature flag called HAVE_BOOTENTRY which should be
set by libraries that provide ukplat_e...

github.com/unikraft/unikraft - 519ad1b79f5af2343a852a6a75a857261ecae75a authored about 7 years ago by Simon Kuenzer <[email protected]>
build: 'Rename global invisible options' to 'feature flags'

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

github.com/unikraft/unikraft - a0c882ab3224225df0bef65c2f3867d53191cfde authored about 7 years ago by Simon Kuenzer <[email protected]>
doc/users: Correct repository URLs

The URLs in the git clone commands were pointing to a wrong location.

Signed-off-by: Simon Kuen...

github.com/unikraft/unikraft - a97e80880fd6c585d5387a130c34141568142e6c authored about 7 years ago by Simon Kuenzer <[email protected]>
Increase Unikraft version for public release

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

github.com/unikraft/unikraft - de72ede38b91c93807a2f740c33f7ca6712ed1b0 authored about 7 years ago by Simon Kuenzer <[email protected]>
lib/ukschedcoop: Add cooperative round-robin scheduler

Substantial parts of this code come from Mini-OS.

Signed-off-by: Costin Lupu <[email protected]...

github.com/unikraft/unikraft - 1e1a8f5b50dd1a450f6de78d07a068d3b7d006f4 authored about 7 years ago by Simon Kuenzer <[email protected]>
lib/uksched: Add abstraction library for schedulers

Signed-off-by: Costin Lupu <[email protected]>
Signed-off-by: Simon Kuenzer <simon.kuenzer@n...

github.com/unikraft/unikraft - 1353814b3199f6aae2c3d23d40f7ec17d60dea67 authored about 7 years ago by Simon Kuenzer <[email protected]>
lib/ukallocbbuddy: Add binary buddy allocator implementation

Substantial parts of this code come from Mini-OS.

Signed-off-by: Simon Kuenzer <simon.kuenzer@n...

github.com/unikraft/unikraft - 154a9b466b398bbc4b8e899691361db77136955f authored about 7 years ago by Simon Kuenzer <[email protected]>
doc: Add user and developer guides

The guides can be built into various formats with sphinx.

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

github.com/unikraft/unikraft - d3e7f577f4f5871bafb27f535fbb1fea5543ee88 authored about 7 years ago by Simon Kuenzer <[email protected]>
lib/ukalloc: Add abstraction library for memory allocators

Signed-off-by: Simon Kuenzer <[email protected]>
Signed-off-by: Florian Schmidt <florian.s...

github.com/unikraft/unikraft - a8cb90f65ad35e8aee7156f73639b2ffb1bf71ac authored about 7 years ago by Simon Kuenzer <[email protected]>
lib/ukdebug: Add printing and debug helpers

Signed-off-by: Simon Kuenzer <[email protected]>
Signed-off-by: Florian Schmidt <florian.s...

github.com/unikraft/unikraft - 347cb7db45f4420bdbcda8a4b566167570b19c72 authored about 7 years ago by Simon Kuenzer <[email protected]>
lib/ukargparse: Add argument parser

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

github.com/unikraft/unikraft - 17327dfe617a890aa135fbb538501d88755e6187 authored about 7 years ago by Simon Kuenzer <[email protected]>
lib/ukboot: Add Unikraft bootstrapping

Signed-off-by: Simon Kuenzer <[email protected]>
Signed-off-by: Costin Lupu <costin.lupu@c...

github.com/unikraft/unikraft - cfa2c08ae79b4a90fc2f8f06b16a6a3b2bbf4f3f authored about 7 years ago by Simon Kuenzer <[email protected]>
plat: Add platform interface

Add header files for platform interface.

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

github.com/unikraft/unikraft - 828efb76ebb235966a52c9c7f7b76ef3bec36ec6 authored about 7 years ago by Simon Kuenzer <[email protected]>
plat/xen: Add Xen (x86_64, ARM) platform code

Substantial parts of this code come from Mini-OS.

Currently, scheduling, memory allocation, and...

github.com/unikraft/unikraft - 3c3dc48b52484b08a8987d4fc20939e98025f9e7 authored about 7 years ago by Simon Kuenzer <[email protected]>
plat/linuxu: Add linux userspace (x86_64, ARM) platform code

Currently, scheduling and interrupts are not implemented.

Signed-off-by: Simon Kuenzer <simon.k...

github.com/unikraft/unikraft - 7c7518d281af8a0e5bb798a11ba1e4a2f9b5a621 authored about 7 years ago by Simon Kuenzer <[email protected]>
lib/fdt: Add flat device tree manipulation library

libfdt is part of the Device Tree Compiler (DTC).
It was ported from https://github.com/dgibson/...

github.com/unikraft/unikraft - add25f12e7dc0aec3d97ec2b2226f913f1de5903 authored about 7 years ago by Simon Kuenzer <[email protected]>
lib/nolibc: Add nolibc, a minimal subset of libc functions

Parts of this code was ported from Mini-OS.

Signed-off-by: Simon Kuenzer <simon.kuenzer@neclab....

github.com/unikraft/unikraft - 1760d9ef441b6715e44c2747107235a84ac04f19 authored about 7 years ago by Simon Kuenzer <[email protected]>
plat/kvm: Add KVM (x86_64) platform code

Substantial parts of this code come from solo5.

Currently, scheduling and interrupts are not im...

github.com/unikraft/unikraft - 2c910885490225d49325f628b86adf9f798a37df authored about 7 years ago by Simon Kuenzer <[email protected]>
arch/x86_64: Add x86_64 architecture build

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

github.com/unikraft/unikraft - 307a36d3589b2253c55c0afe9fa959e2cac9d5a0 authored about 7 years ago by Simon Kuenzer <[email protected]>
build: Add build and configuration framework

Makefile system for building and configuration.

This contains kconfig from buildroot and checkp...

github.com/unikraft/unikraft - 8277edb38e82c8294d6e36ea6c724afedc98d9e5 authored about 7 years ago by Simon Kuenzer <[email protected]>
arch: Add architecture interface

Add header files for architecture interface.

Signed-off-by: Simon Kuenzer <simon.kuenzer@neclab...

github.com/unikraft/unikraft - eacdeffeaa3e323e43fb4222188fc7c6c47cb7a3 authored about 7 years ago by Simon Kuenzer <[email protected]>
arch/arm: Add ARM architecture code

Signed-off-by: Simon Kuenzer <[email protected]>
Signed-off-by: Florian Schmidt <florian.s...

github.com/unikraft/unikraft - 128897c0778e489434219ae69abb24dfad498ee7 authored about 7 years ago by Simon Kuenzer <[email protected]>
doc: Project operation documentation

Signed-off-by: Simon Kuenzer <[email protected]>
Signed-off-by: Florian Schmidt <florian.s...

github.com/unikraft/unikraft - 60c57a38cd8443d3b69260e99016930f5cb5fcd1 authored about 7 years ago by Simon Kuenzer <[email protected]>
Add gitignore

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

github.com/unikraft/unikraft - 93310a2ccd252743408b62869a3c2dbff28ed26d authored about 7 years ago by Simon Kuenzer <[email protected]>
initial commit (empty)

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

github.com/unikraft/unikraft - 44ab4c9e82078c2272b6ed4ec150879e7db21876 authored about 7 years ago by Florian Schmidt <[email protected]>