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: Replace the parser with uklibparam

We replace the existing parser in linuxu platform with uklibparam.
The library parsing is perfor...

github.com/unikraft/unikraft - 1840d369f0f7d6324bf9c51a9c7c92a1bcaa135c authored over 5 years ago by Sharan Santhanam <[email protected]>
plat/linuxu: Introduce heap size as a lib parameter

In the linuxu platform, the user can overwrite the default heap size
parameter. In this patch we...

github.com/unikraft/unikraft - 40925035c893b6b4e77c85d166a6874aab47aa9c authored over 5 years ago by Sharan Santhanam <[email protected]>
lib/uklibparam: Add linker script for parameter

This patch introduces a linker script to create linker
sections in which to place the library ar...

github.com/unikraft/unikraft - 6ad4d6d13a09cb804b22fb24fa61add9aef600e9 authored over 5 years ago by Sharan Santhanam <[email protected]>
lib/uklibparam: Add support for passing arrays

This patch implements a way to pass array parameters to libraries.
The array parameters are deli...

github.com/unikraft/unikraft - 90504fe75536ba132f7602aebf14d8627320ad2e authored over 5 years ago by Sharan Santhanam <[email protected]>
lib/uklibparam: Add support for string datatype

This patch implements a way to forward string parameters to
libraries.

Signed-off-by: Sharan Sa...

github.com/unikraft/unikraft - 00f620564d326dbab6c5cd0d42c68192a0928b28 authored over 5 years ago by Sharan Santhanam <[email protected]>
lib/uklibparam: Introduce the library parameter

This patch provides the header necessary to register a variable as a
user-provided library boot ...

github.com/unikraft/unikraft - 15bea914c8f1fc251cc8e99cddbba89e0c327e78 authored over 5 years ago by Sharan Santhanam <[email protected]>
lib/ukboot: Implement uk_version

The ukboot library provides the function `uk_version` to print the
version of the Unikraft image...

github.com/unikraft/unikraft - c5fc696250a4273cf5ec41cddbba5067a8e655b1 authored over 5 years ago by Sharan Santhanam <[email protected]>
build: Add *.ld files as sources to library

Instead of adding the linker as a special linker variable, we add the
linker scripts as sources ...

github.com/unikraft/unikraft - 530949ed967397f93ab83f53204fa4014f0ab8d7 authored over 5 years ago by Sharan Santhanam <[email protected]>
build: Use linker script sources to add to LDFLAGS

Remove additional variables needed between Makefile.uk and Linker.uk
to prepare the linker flags...

github.com/unikraft/unikraft - 6112cc5b6976695de6bc7e70b7e90b6f476e529a authored over 5 years ago by Sharan Santhanam <[email protected]>
build: Print linker script files

Add the make rule print-lds so the user can print all the linker
scripts used to create a Unikra...

github.com/unikraft/unikraft - 7783c2defbc708e0391bca28e885f2746c915f44 authored over 5 years ago by Sharan Santhanam <[email protected]>
build: Automatically preprocess *.ldS

As part of processing the *.ldS source files, the build system
introduces the LIBNAME_LDS-y and ...

github.com/unikraft/unikraft - 1d50277babfc8360adc4c1387d8084bd28b89d28 authored over 5 years ago by Sharan Santhanam <[email protected]>
build: Use UK_PLAT_*_DEF_LDS in linker flag

The patch uses the UK_PLAT_*_DEF_LDS in the Linker.uk file of the
different platforms while prep...

github.com/unikraft/unikraft - 9ec81b41ab02743bf4071a33dd226f2fdcad94d3 authored over 5 years ago by Sharan Santhanam <[email protected]>
build: Introduce default linker script variable

Each platform may define `UK_PLAT_PLATNAME_DEF_LDS`. This variable
will be used by Unikraft's bu...

github.com/unikraft/unikraft - 262d75bfc3492566bc2d63380f7ea291ebd3296c authored over 5 years ago by Sharan Santhanam <[email protected]>
build: Introduce PLATS variable for platform lib

The patch introduces a variable to check the platforms on which the
library should be included. ...

github.com/unikraft/unikraft - a4de6788c3aa44a9882e1ccdb1a5c44415a30370 authored over 5 years ago by Sharan Santhanam <[email protected]>
build: Support Makefile.rules for each library

The patch gives the option to a library developer to extend the default
Unikraft build system wi...

github.com/unikraft/unikraft - a58b624fcad720f9a9a4bcff9be33afd146969b8 authored over 5 years ago by Sharan Santhanam <[email protected]>
plat/kvm/arm: Add image name as the first argument

While setting up the command line arguments to an application, the user
argument start at index ...

github.com/unikraft/unikraft - a3d5fcdd3cb017ac02aa8c120e1b40904ab2ca95 authored over 5 years ago by Sharan Santhanam <[email protected]>
lib/posix-libdl: Add stubs

Unikraft does not support dynamic loading yet: all libraries are statically
linked. For now, we ...

github.com/unikraft/unikraft - 1162bca1883e6d3ca900c3d0c0354ce1ecb7e2a7 authored over 5 years ago by Costin Lupu <[email protected]>
lib/posix-libdl: Adapt dlfcn.h

Signed-off-by: Andrei Gogonea <[email protected]>
Signed-off-by: Teodora Serbanescu <te...

github.com/unikraft/unikraft - 19202a37df6869a9bf5e678b2eb4a05a2cabb35c authored over 5 years ago by Costin Lupu <[email protected]>
lib/posix-libdl: Import dlfcn.h from musl

Copied as is from the official musl git mirror
git://git.musl-libc.org/musl, commit 6fcb440d.

O...

github.com/unikraft/unikraft - 3cf11a3bc7b8ff5dbde7e7fba37bc0edaf2e017a authored over 5 years ago by Costin Lupu <[email protected]>
lib/posix-libdl: Introduce POSIX libdl library skeleton

A great number of libraries use explicit loading of dynamic libraries and for
this reason we pro...

github.com/unikraft/unikraft - fb3db57faa338ff8c3940d71af620d1bbc391d2f authored over 5 years ago by Costin Lupu <[email protected]>
build: Include Makefile.rules after .config is loaded

Includes `support/build/Makefile.rules` still before the build system
installs any build rule bu...

github.com/unikraft/unikraft - 0ab2d365fc1f3d5de00b1d6ca9bc191b76deecd6 authored over 5 years ago by Simon Kuenzer <[email protected]>
plat/xen: Support UK_DEBUG_IMAGES(-y)

Splits the single linker build rule into multiple smaller build
rules. By doing this, each indiv...

github.com/unikraft/unikraft - bc198e180753119daa040c0a1d02732b908a517c authored over 5 years ago by Simon Kuenzer <[email protected]>
plat/kvm: Support UK_DEBUG_IMAGES(-y)

Splits the single linker build rule into multiple smaller build
rules. By doing this, each indiv...

github.com/unikraft/unikraft - 214cb413aeb792a98113021e2d8653fae979a6d0 authored over 5 years ago by Simon Kuenzer <[email protected]>
plat/linuxu: Support UK_DEBUG_IMAGES(-y)

Splits the single linker build rule into multiple smaller build
rules. By doing this, each indiv...

github.com/unikraft/unikraft - 42a730ac7f5d1d0adbd6472e366d4f9bf888cbe7 authored over 5 years ago by Simon Kuenzer <[email protected]>
build: Introduce UK_DEBUG_IMAGES, UK_DEBUG_IMAGES-y

UK_DEBUG_IMAGES, UK_DEBUG_IMAGES-y are introduced in order to enable
for each platform to specif...

github.com/unikraft/unikraft - 95540d795ef656413a00ffea6bc477cc38c4f03d authored over 5 years ago by Simon Kuenzer <[email protected]>
build: add clean-libs rule

This rule allows to clean all intermediate files, but keep the final
image(s). Simply removing t...

github.com/unikraft/unikraft - 216966b2bd9c3d6fd426948218317f56bb08dd6f authored over 5 years ago by Florian Schmidt <[email protected]>
plat/kvm: Implement intctrl APIs for Arm64

Before GICv2 become ready, we had marked the intctrl APIs as TODO.
Now, we have enabled the GICv...

github.com/unikraft/unikraft - 68597c7b4d6870d557f9a8cee6ab691a03d85381 authored over 5 years ago by Wei Chen <[email protected]>
plat/common: Add a platform API to get IRQ from device tree

When we get irq number from device tree, it contains more than
one items, like irq type, hardwar...

github.com/unikraft/unikraft - 278ad9edaba47e1c81e6230288727fca48bd8141 authored over 5 years ago by Jianyong Wu <[email protected]>
plat/common: Include plat/irq.h by default

This will avoid including too many irq.h headers like:
uk/plat/irq.h, arm/irq.h, irq.h in one so...

github.com/unikraft/unikraft - a8298d2df954dbe68db01d0f05a3af61bd0f38b7 authored over 5 years ago by Jia He <[email protected]>
plat/common: Implement gic-v2 library for Arm

This library has implemented basic GICv2 functions. We don't support
GICv2M and security extensi...

github.com/unikraft/unikraft - 5183a0a64d60cee919fbb0ac8000eb9a977515d1 authored over 5 years ago by Jianyong Wu <[email protected]>
plat/common: Add a trap function to handle Arm64 irq trap

As we have implemented the GICv2 interrupt controller, we
can enable the irq trap exception hand...

github.com/unikraft/unikraft - a4a2cfd8757d4d935bad52557efe6b9f1a59d9c1 authored over 5 years ago by Wei Chen <[email protected]>
plat/common: Define __MAX_IRQ for different architectures

In current IRQ framework, we only support 16 irq_handlers. This is
well for x86 legacy interrupt...

github.com/unikraft/unikraft - 9d904f93b0ad6ab6c6b5459e6766449704424256 authored over 5 years ago by Wei Chen <[email protected]>
doc: Debugging: Reflect that there are 2 images (w & w/o debug info)

With commit 33809518 the build system started to produce 2 images
always: one with debugging inf...

github.com/unikraft/unikraft - 34d00a4ecbf2404a11a8d010d670aff0ff963e2c authored over 5 years ago by Simon Kuenzer <[email protected]>
lib/ukargparse: Add maxlen handling to left_shift

Change the signature of the left_shift function from argparse.c and
add maxlen handling.

Signed...

github.com/unikraft/unikraft - 642fe4a853651963c50f4092ff5f037ba78404db authored over 5 years ago by Andrei Gogonea <[email protected]>
lib/ukargparse: Fix argparse.c

Modify argparse.c to be able to correctly parse multiple arguments
contained within quotes. It i...

github.com/unikraft/unikraft - bc7c40b667aa86d32baa632ff47bcb50d354321f authored over 5 years ago by Andrei Gogonea <[email protected]>
lib/fdt: Introduce fdt_getprop_u32_by_offset helper

This helper will be used very frequently to u32 from properties.
So we provide this helper here ...

github.com/unikraft/unikraft - 2def0180905799665b9b1d696f4f1133d200e826 authored over 5 years ago by Jia He <[email protected]>
plat/common: Introduce fdt_get_address helper

This helper will be used very frequently for device libraries
to parse their addresses. Introduc...

github.com/unikraft/unikraft - 42c1127cb4441310f8e4268d0d3b8d011484cdf4 authored over 5 years ago by Jia He <[email protected]>
plat/common: Add fdt address translation support

The ranges property provides a means of defining a mapping or
translation between the address sp...

github.com/unikraft/unikraft - bfa8fc5e20ae10dd5d19cd7cc5c3b3e8de840faa authored over 5 years ago by Jia He <[email protected]>
lib/fdt: Change the default value of fdt_size_cells

see 2.3.5 in [1], if "#size-cells" is missing, the default value
should be 1 instead of 2.
Besid...

github.com/unikraft/unikraft - e2833b877d0eb50bcc81b86043e6347c755dba20 authored over 5 years ago by Jia He <[email protected]>
plat/common: Introduce fdt_get_interrupt helper

This helper will be used very frequently for devices to
get their interrupts.

Signed-off-by: We...

github.com/unikraft/unikraft - 9b3c3d813e4cedb127023ff126875ecc66fde365 authored over 5 years ago by Wei Chen <[email protected]>
plat/common: Introduce fdt_node_offset_by_compatible_list helper

For most of devices that will use the device tree will have one
or more compatible strings. This...

github.com/unikraft/unikraft - 5f26037733d6f272176fa699730a8f7e705853ee authored over 5 years ago by Jianyong Wu <[email protected]>
plat/common: Introduce fdt_interrupt_cells helper to parse irq

This helper retrieves the number of cells by scan "#interrupt-cells"
property of fdt.
We will us...

github.com/unikraft/unikraft - 1fc6481a13b5faa3c05e6d448e11d41804d71a3b authored over 5 years ago by Jianyong Wu <[email protected]>
plat/virtio: Reset device helper

This patch adds the reset device helper function.

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

github.com/unikraft/unikraft - 5fa13f63584a8f8024b6d04a9033008c1e0365a6 authored over 5 years ago by Roxana Nicolescu <[email protected]>
Fix dentry referecing and file closing

Increase the refcount of the vfscore_file's dentry when opening it.
This is the OSv behaviour si...

github.com/unikraft/unikraft - 0b9bd8e96733e42c7c49be275986e9bdf6af1672 authored over 5 years ago by Mihai Pogonaru <[email protected]>
Expose dentry creation/deletion and vnode creation

Move dentry function declaration inside dentry.h header
to be consistent with node.h and, since ...

github.com/unikraft/unikraft - 472289808ef80ffcd2b52ef95a0407336d4cb652 authored over 5 years ago by Mihai Pogonaru <[email protected]>
Add asserts to fdrop()

We are adding the asserts to be consistent with other
reference releasing functions: drele, vrel...

github.com/unikraft/unikraft - e577f73044dfab281df7d91d0f51f9c5c48d692f authored over 5 years ago by Mihai Pogonaru <[email protected]>
Check for NULL reference on vfscore_put_fd()

Since we can allocate a fd without assigning a
vfscore_file we must protect against NULL pointer...

github.com/unikraft/unikraft - 837e9a3460e530bc72159040b8fb9aa616957787 authored over 5 years ago by Mihai Pogonaru <[email protected]>
lib/uksysinfo: Add gethostname implementation

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

github.com/unikraft/unikraft - cff618918a806978755f3004f1743d7e21138713 authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
plat/xen: Introduce xenbus drivers menu

This patch introduces the xenbus drivers menu.

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

github.com/unikraft/unikraft - 760fd645eda6c676b637980b967add99d4283bc2 authored over 5 years ago by Roxana Nicolescu <[email protected]>
lib/ukswrand: Add /dev/random and /dev/urandom

This patch adds the /dev/random and /dev/urandom devices. Since we do not have
any entropy gener...

github.com/unikraft/unikraft - 8c5e2b4bbbe8d414371a87a981bc3d073cc598c6 authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
lib/ukboot: Fix handling of main arguments

When the command line is parsed and split into arguments, each argument is saved
in an array of ...

github.com/unikraft/unikraft - 7e2884e509be6c2a9352a76a96a12e550b130382 authored over 5 years ago by Costin Lupu <[email protected]>
doc: add section about syscall shim layer

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

github.com/unikraft/unikraft - 9f87c83a48b1f4deb7710028573233f6522090b8 authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/syscall_shim: introduce syscalls macro layer

To provide a syscall user needs to use macro UK_SYSCALL_DEFINE. The
syntax is the following:

UK...

github.com/unikraft/unikraft - ccb39b56624915b976020d26e41235c69fb7ee38 authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/vfscore: syscall writev

First ever user of syscall shim layer

Signed-off-by: Yuri Volchkov <[email protected]>
Re...

github.com/unikraft/unikraft - 03d244557d4cf1a3adb03a102fcc0f9b561f518e authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/syscall_shim: generate provided_syscalls.h

The provided_syscalls.h will be containing prototypes for every
syscall present in the system.

...

github.com/unikraft/unikraft - f32606c4b00737dd9e2130d4400c7fda60c38755 authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/syscall_shim: introduce uk_syscallp

The macro layer is efficient, but the exact syscall must be known at
the compilation stage. If a...

github.com/unikraft/unikraft - eec56cb8fe2d490e7b21a54048d777274856d839 authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/syscall_shim: generate base headers

The following headers are generated by the code in this patch:
- syscall_nrs.h - just definiti...

github.com/unikraft/unikraft - 1cc9e1a15c3e85bbc45fe401b9f456671b741a5b authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/syscall_shim: import syscall.h.in from musl

In the original repo (git://git.musl-libc.org/musl):
Commit <6516282d2adfad2c7e66d854cde3357120c...

github.com/unikraft/unikraft - b894b277cf2477d33ffe328c1ebc39e283a2988c authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/syscall_shim: remove duplicate syscalls

The implementation of syscall_shim relies on uniqueness of the syscall
numbers.

Signed-off-by: ...

github.com/unikraft/unikraft - 6e1d5c49e1510ffa4b65adc5765b6846b86694ea authored over 5 years ago by Yuri Volchkov <[email protected]>
include: move UK_CONCAT to essentials

This macro is useful not just for tracing.

Signed-off-by: Yuri Volchkov <[email protected]...

github.com/unikraft/unikraft - aa6d845329c3cee524741444a90bcae202c1bab2 authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/uksysinfo: Implement sysconf check for _SC_NPROCESSORS_ONLN

The sysconf function should return the number of active processors when
_SC_NPROCESSORS_ONLN is ...

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

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

github.com/unikraft/unikraft - 9c83ecb09c3fa18b2dd25c51d94cc16d4bb7e8cf authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
lib/devfs: Tabify imported devfs code

According to Unikraft's coding style indents are
under the form of tabs. The imported code used ...

github.com/unikraft/unikraft - 339db3a88bfa5098d97b5d3d21fdc6100b3ca870 authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
lib/devfs: Initial import from OSv

commit: c8395118cb580f2395cac6c53999feb217fd2c2f
Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei....

github.com/unikraft/unikraft - f61af9e53aac417ccba5e1ea125594b27c42969a authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
lib/devfs: Update license header for the imported files

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

github.com/unikraft/unikraft - e06606db87868353cba43d699da68cc8f9418aeb authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
lib/devfs: Adapt imported devfs to Unikraft

The incompatible cast warnings caused by the the macro expansions, such as
`#define devfs_mount ...

github.com/unikraft/unikraft - b41122a00c0ca3f4fa8fba26701e929efc345419 authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
lib/devfs: Fix checkpath warnings

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

github.com/unikraft/unikraft - f1a76d72d77d0fc53496ddec4fce58a841d4a266 authored over 5 years ago by Vlad-Andrei BĂDOIU (78692) <[email protected]>
MAINTAINERS.md: Remove myself

It is unclear how much I will be able to contribute in the future.
Sharan has agreed to take ove...

github.com/unikraft/unikraft - 2bb2da127ff361689c54d65b19307473a5e00bb2 authored over 5 years ago by Florian Schmidt <[email protected]>
doc: add extended permissions to the logo license

Signed-off-by: Alina Volchkova <[email protected]>
Reviewed-by: Felipe Huici <[email protected]>

github.com/unikraft/unikraft - 84269d75b42e66c42c113bd34466be30289b88fb authored over 5 years ago by Alina Volchkova <[email protected]>
lib/vfscore: make all vnops function return int

This must be a mistake made during porting and adapting types in
particular. All the vnops funct...

github.com/unikraft/unikraft - 8801e4090eb1c1be178ead649328f66d2e254100 authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/vfscore: do not advance position for stdio

With the proper handling of uio for stdio files, vfs also advances the
position in the struct fi...

github.com/unikraft/unikraft - 35f2d217639f133d0be63fe5b358b99f2ea29f9c authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/vfscore: handle uio properly in stdio functions

Signed-off-by: Yuri Volchkov <[email protected]>
Reviewed-by: Florian Schmidt <florian.sch...

github.com/unikraft/unikraft - c201efa5e7d5889b74fbdc2eff7e3f6627181e4b authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/vfscore: introduce vfscore_uioforeach

This is a template-type of function, to avoid code
duplication. Compiler optimizes extra call to...

github.com/unikraft/unikraft - c8dc535322ba910770cc7cfa1db1c4e3f93e7843 authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/vfscore: check return value of vfs_write in sys_write

This check has been lost during the porting.

Signed-off-by: Yuri Volchkov <yuri.volchkov@neclab...

github.com/unikraft/unikraft - 7b8125d98eb8230cdeb581a435c8b4c17ab9c0eb authored over 5 years ago by Yuri Volchkov <[email protected]>
build: Provide option for compressing images

Introduces a menu option to enable or disable the creation of
compressed images.

Signed-off-by:...

github.com/unikraft/unikraft - 78686331ebd993ea955aa6d5115bf9013fd7ecd5 authored over 5 years ago by Simon Kuenzer <[email protected]>
build: Option to build without GCC debug information

Introduces the option to build without GCC debug information (`-g0`
parameter). This is generall...

github.com/unikraft/unikraft - f8f5c57626e1ac2dfaa911fb0d1c571acf105d0f authored over 5 years ago by Simon Kuenzer <[email protected]>
lib/vfscore: remove NO_SYS

Not used

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

github.com/unikraft/unikraft - 9934548435c5085a94f13f17a3910ee1445aaafc authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/vfscore: enable _BSD_SOURCE

.. where needed to comply with musl

Signed-off-by: Yuri Volchkov <[email protected]>
Revi...

github.com/unikraft/unikraft - 77d30d6abc1904f3e93fc8188f275c4fc30709b4 authored over 5 years ago by Yuri Volchkov <[email protected]>
build: fix forgotten $(CONFIG_ARCH_ARM_64)

In the commit 1d84f3dd898e ("build: make all linker scripts
preprocessable") the '-$(CONFIG_ARCH...

github.com/unikraft/unikraft - 882c93c100fb2b7dcb198db6b72e167e0b5bc06f authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/uksched: Make waiting queue act like actual queues

Waiting queues were used as stacks (LIFO) instead of queues (FIFO). The
last added thread was th...

github.com/unikraft/unikraft - ba1850c3e55dbc8ccc07c0fa02239bea2b661657 authored over 5 years ago by Costin Lupu <[email protected]>
lib/ukschedcoop: Fix race condition when trying to wake up current thread

The previous patch introduced a race condition: if the current thread
blocks and yields, and an ...

github.com/unikraft/unikraft - 606f5f5011acc7541d0573ddb4625230c59459a8 authored over 5 years ago by Costin Lupu <[email protected]>
lib/ukschedcoop: Fix yield behavior when current thread is first in thread list

When the current thread is the only one in the thread list, if it wants
to yield after it create...

github.com/unikraft/unikraft - 78524587f182d88d14821d5171b1a0ca02be5183 authored over 5 years ago by Costin Lupu <[email protected]>
lib/ukschedcoop: Set current thread on platform stack

As soon as we find a new thread to be scheduled, we set it on the
platform stack as well in orde...

github.com/unikraft/unikraft - b123897f5a4776ead10d2f1e3f58ee20e9662fc4 authored over 5 years ago by Costin Lupu <[email protected]>
plat/*: Set current thread on IRQ stack

Current thread address is saved on the top of the current thread stack.
This patch extends this ...

github.com/unikraft/unikraft - 017fffd59ecee4813763221ce9a67aa40b885680 authored over 5 years ago by Costin Lupu <[email protected]>
plat/xen: Align x86 interrupt stack address at compile time

This patch aligns the stack base address at compile time and makes the
irqstack variable public....

github.com/unikraft/unikraft - b70e83cf8df001a5bdbb090d80abf632e6917752 authored over 5 years ago by Costin Lupu <[email protected]>
lib/ukunistd: Move utsname.h to uksysinfo library

Commit bbcb60ce wrongfully moved this header to ukunistd library instead of
uksysinfo, where una...

github.com/unikraft/unikraft - 410752da1a6b656433801c3de9f222e279166887 authored over 5 years ago by Costin Lupu <[email protected]>
lib/vfscore: replace tracing stubs with new tracepoints

Vfscore is the first user of tracepoints. It started to use them even
before they was implemente...

github.com/unikraft/unikraft - 5a61cdcb01b2a7bfb1a33f788319661882694641 authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/ukdebug: save actual data into tracebuffer

Macro UK_TRACEPOINT generates a static function. One per
tracepoint. Later user will call this f...

github.com/unikraft/unikraft - 740fc60146916054811c946b89cb5017f0a1efa0 authored over 5 years ago by Yuri Volchkov <[email protected]>
support/scripts: make uk-trace installable

Now it is possible to install uk-trace in your local virtual
environment. For example:
python...

github.com/unikraft/unikraft - ca85fdb769f35bb8613e91236dfa41f3cd5b06e3 authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/ukdebug: key-value static storage for tracing

One more 'special' stripable section. Will contain strings in format
key = value. Currently, onl...

github.com/unikraft/unikraft - e1d9508f0edef58fac819d920455fc2ae6073ded authored over 5 years ago by Yuri Volchkov <[email protected]>
support/scripts: implement trace buffer parsing

With this patch trace.py can print the data collected in the
tracefile. And two more use cases a...

github.com/unikraft/unikraft - 3765852f3d3d93de1cfb820746f3283198e0e9c6 authored over 5 years ago by Yuri Volchkov <[email protected]>
support/scripts: fetch trace data from running Unikraft

Fetch tracebuffer, key-values and tracepoint definitions using objcopy
and gdb.

This patch intr...

github.com/unikraft/unikraft - 917d23a7510855967faf44b9d2d4ab2cd5af51d0 authored over 5 years ago by Yuri Volchkov <[email protected]>
doc/guides: Add section about tracepoints

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

github.com/unikraft/unikraft - 64b325e4801074266a3c6a3f557ad10acbcde1f9 authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/ukdebug: trace.h - introduce UK_FOREACH and UK_NARGS macros

The UK_FOREACH is the central macro in the all macro hell needed to
implement static tracepoints...

github.com/unikraft/unikraft - 2bc4d9df719a39bfab3ac7293e454f18350bf9cb authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/ukdebug: Register a tracepoint

Create a 'special' section .uk_tracepoints_list, where we will be
storing static definitions of ...

github.com/unikraft/unikraft - 40d3458877c9d1981447d494f08203cc7b9e4227 authored over 5 years ago by Yuri Volchkov <[email protected]>
lib/uksched: create and delete thread-local storage area

Most of the actual TLS setup is architecture-specific, so sched.c and
thread.c call functions fr...

github.com/unikraft/unikraft - 4ef736f4239ac9f85d821b6df6334f0546cf03af authored over 5 years ago by Florian Schmidt <[email protected]>
plat: switch thread-local storage area on context switch

On x86, the standard way is writing to an MSR to switch the fs register,
which is used as the po...

github.com/unikraft/unikraft - 11ac352a7d1ad25abf51bfbf7bbcda4ffe6801b3 authored over 5 years ago by Florian Schmidt <[email protected]>
arch: provide thread-local storage helper functions

Because the layout of the TLS area is architecture-specific, we provide
helper functions to get ...

github.com/unikraft/unikraft - bb7d1651e979052cdd2d50457c54f87bbbb98ac5 authored over 5 years ago by Florian Schmidt <[email protected]>
plat: prepare linker script for thread-local storage

Aggregate all .tdata and .tbss variables in the correct sections, and
define global variables th...

github.com/unikraft/unikraft - 9fda6f8a9570400f1467c9401798942ec926cd23 authored over 5 years ago by Florian Schmidt <[email protected]>
plat: move common section definitions from linker script to include file

Signed-off-by: Florian Schmidt <[email protected]>
Reviewed-by: Costin Lupu <costin.lupu...

github.com/unikraft/unikraft - e0d4e983d07aaa0a50eb015dce46a66cf90a7f5b authored over 5 years ago by Florian Schmidt <[email protected]>