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
Move the 'Calling main' info message right before actually calling
main.
Signed-off-by: Simon K...
github.com/unikraft/unikraft - 468f37a2e4d370c05ef92f3d27d0b6fb627c4c37 authored about 6 years ago by Simon Kuenzer <[email protected]>
Instead of using libukdebug's kernel console we print directly to
stdout with printf(). This mak...
Similar to Linux's printing wrappers pr_*() we introduce printing
wrappers for the libukdebug:
...
github.com/unikraft/unikraft - 7bd2c3baf5a57e3601564493e2c09b45efa87263 authored about 6 years ago by Simon Kuenzer <[email protected]>
Instead of adding multiple ifdefs in the headers in order to choose a
header specific to current...
Signed-off-by: Alina Volchkova <[email protected]>
github.com/unikraft/unikraft - 94da5b241f0e70adf773761dad8adac65d70978e authored about 6 years ago by Alina Volchkova <[email protected]>
Including uk/plat/time.h in time.h of nolibc expose
platform's symbols such as ukplat_monotonic_...
Signed-off-by: Simon Kuenzer <[email protected]>
Reviewed-by: Yuri Volchkov <yuri.volchkov...
This patch adds the option to unselect the vfscore library from builds.
In order to be inline wi...
Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Yuri Volchkov <yuri.volchkov@nec...
Extend the client API with functions for dealing with Xenbus driver
states.
Signed-off-by: Cost...
github.com/unikraft/unikraft - 011ec1b820f3c62246fc77221346dacd718a508c authored about 6 years ago by Costin Lupu <[email protected]>
Extend the Xenbus bus driver with support for probing Xenbus
devices.
Signed-off-by: Costin Lup...
github.com/unikraft/unikraft - 4671b8bc851ec194cb6d461416dc0a157570d1c3 authored about 6 years ago by Costin Lupu <[email protected]>Introduce the abstraction for Xenbus watches.
Signed-off-by: Costin Lupu <[email protected]...
github.com/unikraft/unikraft - 476e705e28a10ac4578d871759d9432bf0a990d5 authored about 6 years ago by Costin Lupu <[email protected]>
Introduce the API needed by frontend drivers that require
communication with their backend count...
Add support for communication with Xenstore daemon via the shared
page. In Unikraft, the incomin...
Add the API needed for sending Xenstore messages. These functions
are used by any client communi...
Add support for processing Xenstore watch events coming from the
Xenstore daemon.
Signed-off-by...
github.com/unikraft/unikraft - 5e73e025fdea415e8ef05492bd039aaa5408d317 authored about 6 years ago by Costin Lupu <[email protected]>
On a few platforms the frequency is not configured correctly
by the firmware. A property in the ...
The ukdebug will print bottom address of stack in
debug messages. So we just implement this func...
As we haven't implement full functions for timer for arm64.
But this function is needed by Unikr...
Update linker.uk to support link Arm64 image to aarch64elf
format.
Signed-off-by: Wei Chen <Wei...
github.com/unikraft/unikraft - f3e2fecb5e064db73aace9dbaa3c762a27bcfb73 authored about 6 years ago by Wei Chen <[email protected]>
PCI bus on Arm64 has not been ready, so we have to disable
it for Arm64 at this stage.
Signed-o...
github.com/unikraft/unikraft - aa60f3c62d97d7f0d15447acbd1469bab0880c4a authored about 6 years ago by Wei Chen <[email protected]>
The boot stack is used for system initialization. This size
is limited, after we have done the i...
Using PSCI despatch function to call PSCI_CPU_RESET
function to reset CPU.
Signed-off-by: Wei C...
github.com/unikraft/unikraft - 1ce1fa01509f7e013b4cd6f5bc91585eb85673bd authored about 6 years ago by Wei Chen <[email protected]>
Halts the CPU until the next external interrupt is fired.
For Arm, we can use WFI to implement t...
QEMU/KVM provide a PSCI interface for virtual machine on
Arm64 platform. So we use this interfac...
Implement system_off for x86 can make shutdown.c become
architecture independent.
Signed-off-by...
github.com/unikraft/unikraft - 94852d1d20ed6044cf19ef2e7dfef25116bbbcee authored about 6 years ago by Wei Chen <[email protected]>
Using PSCI despatch function to call PSCI_SYSTEM_OFF
function to shutdown system.
Signed-off-by...
github.com/unikraft/unikraft - 2776c5c487b588c58bc206c52d0ce4b50c03ae8d authored about 6 years ago by Wei Chen <[email protected]>
PSCI supports two conduit method: HVC and SMC. The method
would be set value in device tree's PS...
Implement PSCI dispatch functions for different conduits.
The platforms can select correct despa...
QEMU/KVM will store the memory informations like memory
region, memory base address and memory s...
If we don't enable the CONFIG_HAVE_SCHED, we should get the error:
nolibc/time.c:65:3: error: er...
Device tree has a "chosen" node, this node can be used to pass
parameters to virtual machine thr...
Although we haven't implemented the GIC libraries in this
stage, but we still can implement the ...
QEMU/KVM provides a 1TB physical address for Arm64. In this case,
we should use 40-bit virtual a...
On Arm64, we need SYNC exception handler to handle some exceptions
like access NULL pointer, and...
Sometimes, for debug purpose, we would like to dump the
registers' value while exception happene...
These APIs are necessary for Unikraft. We have provided local CPU
interrupt functions already, s...
We have implemented a console for early debug console. We had
hardcode the PL011 UART base addre...
We're design a direct mapping of physical memory and virtual
memory. In order to improve the sec...
Arm64 entry code passed the base address of device tree
to _libkvmplat_start. We will check the ...
The errata #858921 describes that Cortex-A73 (r0p0 - r0p2)
counter read can return a wrong value...
On KVM platform, print debug message will use ukplat_monotonic_clock
to provide timestamp. So we...
This tsc clock is x86 specific, so we enable it for x86_64 only.
Signed-off-by: Wei Chen <wei.c...
github.com/unikraft/unikraft - 6e51d6956354668e19e5030407d2c3ca69dd20f2 authored about 6 years ago by Wei Chen <[email protected]>
Instead of hardcoding, we provide Kconfig variables for users
to enable early debug console and ...
PL011 UART is used frequently for virtual machine or bare metal,
so we implement a simple PL011 ...
When MMU is disabled, when we modify some data, for example, write
page-table, we will write wit...
On Arm64, sometimes, the GCC will use floating-point and Advanced
SIMD registers to pass paramet...
On Arm, the system registers may have different size. Introduce these
four helpers will give us ...
Different architectures have different timer implementation. In
order to avoid using too many #i...
QEMU/KVM can boot an Arm64 elf image without multiboot. In this case,
we can plage _libkvmplat_e...
This link script is based on x86 version, except following
differences:
1. Arm64 needs DTB to pa...
This function is ported from Arm32 and is modified to work
on Arm64.
Signed-off-by: Wei Chen <W...
github.com/unikraft/unikraft - 8a5e3cbc189b5dc805c37646edc1a0b53df17aec authored about 6 years ago by Wei Chen <[email protected]>
If we place the boot stack and pagetable in BSS section. These
areas are not easy to be reused a...
Add basic functionality for Xenbus drivers registration.
Signed-off-by: Costin Lupu <costin.lup...
github.com/unikraft/unikraft - 9f0389adf9b882043b86bd56ec463a09e8cd0741 authored about 6 years ago by Costin Lupu <[email protected]>Port strdup function from Mini-OS.
Signed-off-by: Costin Lupu <[email protected]>
Reviewed-...
Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Yuri Volchkov <yuri.volchkov@nec...
Doing a recursive deletion transparently just by running $(RM) can be
harmful. It is wiser to di...
Instead of calling `rm -f` directly, use the command definition $(RM)
that is declared in the ma...
According to `man gcc`, we actually support more source file name
extensions than currenly popul...
Support linker scripts that have to be pre-processed ('*.lds.S'). One
would define the linker sc...
Since fixdep_and_cmd is actually a wrapper for build_cmd, this commit
moves the function declara...
The linker script file extension '.lds' (alias "ld script") seems to
be more natural understanda...
Modify tha platforms' Linker.uk so that the build rules that create
the final image also depend ...
The src2dep() function in support/build/Makefile.rules did not hand-over
the (optional) variant ...
Making the hypercall by directly using the macro SHUTDOWN_suspend
causes an EFAULT error. The su...
Calculate the remaining time to sleep and update
the rem parameter if it is given.
If the remain...
Gcc passes *.S files the preprocessor first, whereas
*.s files (lower case 's') are going direct...
Apparently this function is used only in bitmap implementation. The
fact that there is "linux" i...
Signed-off-by: Yuri Volchkov <[email protected]>
Reviewed-by: Florian Schmidt <florian.sch...
1) Add SPDX license identifier
2) Include Unikraft headers
3) Use Unikraft types
4) Disable fls6...
This patch adds prefix to majority of the macros/functions. For the
sake of tractability, patch ...
Signed-off-by: Yuri Volchkov <[email protected]>
Reviewed-by: Florian Schmidt <florian.sch...
Signed-off-by: Yuri Volchkov <[email protected]>
Reviewed-by: Florian Schmidt <florian.sch...
Signed-off-by: Yuri Volchkov <[email protected]>
Reviewed-by: Florian Schmidt <florian.sch...
Some of the functions provided by bitopts.h are already implemented in
unikraft. This patch turn...
Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Yuri Volchkov <yuri.volchkov@nec...
This fixexes some of the checkpatch issues. Namely tabs instead of
spaces for indentation, and o...
In order to use 'howmany' macro from other files which do not need
select, we introduce sys/para...
This fixes "return is not a function" checkpatch error.
Signed-off-by: Costin Lupu <costin.lupu...
github.com/unikraft/unikraft - bb2849e6442ff7b8c80c19cbbffc594594c0daf3 authored about 6 years ago by Costin Lupu <[email protected]>
ukarch_ffs functions are returning 0-based result. Meaning the least
significant bit is in posit...
Copied as it is from official FreeBSD git mirror
(git://github.com/freebsd/freebsd.git)
Commit ...
github.com/unikraft/unikraft - 6dd96710157f3a34543033193989cb94c729b859 authored about 6 years ago by Costin Lupu <[email protected]>
The definitions in this file are currently present in FreeBSD in the
sys/sys/types.h file with a...
Some header files were missing C linkage declarations, leading to linker
errors when using a C++...
In the progress of Arm64 system initialization, we need to access
the system registers to config...
These files are copied from x86_64 folder, but have been modified
to follow the Arm64 architectu...
On recent debian distributions (Debian/Ubuntu), the GCC enabled
"--enable-default-pie" configura...
Current processor optimization list only support generic cortex-a7
and one Allwin cortex-a7 SoC....
Similar to ARM64, the optimization processor flags have the minimum
gcc version requirement. So ...
We added several Arm64 CPU models in support list. In this patch,
we check the GCC version and a...
According to the new branding of arm, ARMv7 should be changed to
Armv7 (i.e no upper-case for r,...
Add the Arm64 entry for menuconfig. As different silicon vendors may
have different 64-bit Armv8...
Add architecture name to the processor macros. This will avoid the
name conflict of different ar...
Add architecture name to the processor macros. This will avoid the
name conflict of different ar...
Some GCC flags, like processor flags have minimum GCC version
requirement. Add this makefile fun...
In this patch, we add a gcc_version_ge function to test GCC
version and return a result. In this...
We modify the Unikraft's base include folder to reflect the CPU
family schema in this patch. Uni...
Signed-off-by: Felipe Huici <[email protected]>
Reviewed-by: Yuri Volchkov <yuri.volchkov@n...
Signed-off-by: Florian Schmidt <[email protected]>
Reviewed-by: Yuri Volchkov <yuri.volc...
Every library should have a `exportsyms.uk` file, which is simply a flat
file, with one symbol n...
Use already existing `export.syms` files for exporting symbols.
This is basically done by renami...