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
This patch additionally adds some cross-links between application,
internal library, and externa...
In order to avoid symbol conflicts and relaxing on namespacing
of library-internal symbols, each...
As terminal_row and terminal_column are static variables, concurrent or
interleaved execution of...
uk_malloc_ifpages returned the wrong pointer, because it added
sizeof(size_t) to a pointer of ty...
time_block_until() in plat/linuxu/lcpu.c was passing the
until value directly as timeout value f...
We are using the software context for scheduling on plat/linuxu.
Signed-off-by: Costin Lupu <co...
github.com/unikraft/unikraft - 72852f88d242812ffb4359b3a5292c4f0818fbb3 authored over 6 years ago by Simon Kuenzer <[email protected]>Add ARM syscall numbers for TIMER_* syscalls.
Signed-off-by: Costin Lupu <[email protected]...
github.com/unikraft/unikraft - 7cb8998d0951627a68baee4726681e8c5677fe7b authored over 6 years ago by Costin Lupu <[email protected]>
Implement ukplat_monotonic_clock() with clock_gettime()
system call.
Signed-off-by: Simon Kuenz...
github.com/unikraft/unikraft - a1c078e4d55611f02d1b1ec7ada84a36fef4f1fe authored over 6 years ago by Simon Kuenzer <[email protected]>
Patch 300c8309 introduced an API for setting the memory allocator. It
added memory.c to the KVM ...
We use signals to emulate the behavior of interrupts on plat/linuxu.
To directly issue syscalls...
github.com/unikraft/unikraft - 62917eb15ba511729d84fd18f6ace5ddd6cec0c6 authored over 6 years ago by Costin Lupu <[email protected]>
We use sys_timer_* syscalls for timer support on plat/linuxu. Te ensure
ABI compatibility with L...
Changes:
- ARM syscall numbers for SIGACTION and SIGPROCMASK
- ARM asm restorer
Signed-off-by: ...
github.com/unikraft/unikraft - 28889be1192024e9c49954fa635a3ee6be9ca887 authored over 6 years ago by Costin Lupu <[email protected]>
Some already-defined types were not provided by some of our header
files, when they should, acco...
Add strtok and dependent functions to string.h.
These are required for the Xen network netfront ...
This fixes all style warnings and errors, as well as compiler warnings
on HASZERO (-Wparentheses...
Modified the PCHAR macro so that it evaluates its parameters exactly
once on every call. The old...
Update the location of the cursor as data is written to the console.
Signed-off-by: Florian Sch...
github.com/unikraft/unikraft - 56b37eda69ac2b08fde9d85a37bd520d2b3d1ac8 authored over 6 years ago by Florian Schmidt <[email protected]>
This patch provides support to track the number of reference held
to an object. The reference co...
Ported from Newlib glue code for Unikraft.
Signed-off-by: Costin Lupu <[email protected]>
R...
This is a leftover from the original behavior where the screen was
cleared and written from the ...
Newer GCC complains about a switch-case without "break" or
"Fall-through" comments
Signed-off-b...
github.com/unikraft/unikraft - 3c9a00efc21df1f7d452c878d17edaacb66c6932 authored over 6 years ago by Yuri Volchkov <[email protected]>
Signed-off-by: Yuri Volchkov <[email protected]>
Reviewed-by: Simon Kuenzer <simon.kuenzer...
sys/time.h provides timeval, not timespec. It doesn't provide a forward
declaration of a struct ...
These are unneeded for the header files themselves, and the resulting
additional definitions if ...
And deal with the fallout of that.
Signed-off-by: Florian Schmidt <[email protected]>
R...
NULL is to be defined in several header files. By putting it in
shareddefs.h, we can subsequentl...
libc mandates a bunch of definitions that defined from several header
files. At the same time, t...
Signed-off-by: Florian Schmidt <[email protected]>
Reviewed-by: Simon Kuenzer <simon.kue...
Naming the private area "private" clashes with C++ code, where this is
interpreted as a keyword ...
Crashing on unhandled interrupts is not very helpful, because things as
simple as hitting a key ...
Simple offsetof macro wrapper needed by Xen network netfront
driver.
Signed-off-by: Razvan Cojo...
github.com/unikraft/unikraft - bd018af1b7b932bb0254b382171efcfce0ea2196 authored over 6 years ago by Razvan Cojocaru <[email protected]>
A common convention for functions that find first set bit is to be named
ffs. Keeping the old na...
Remove FOREACH_(DRIVER|DEVICE) macros from pci_bus.c because it hides
the name of the list we ar...
Set license as it is in COPYRIGHT file from musl and according to file
history.
Signed-off-by: ...
github.com/unikraft/unikraft - 5d35e690481cdbd18a1b28b6198e8a78af84f920 authored over 6 years ago by Costin Lupu <[email protected]>
Copied as it is from official musl git mirror
(git://git.musl-libc.org/musl)
Commit <f2c6dbe244...
github.com/unikraft/unikraft - 3c2d0f852452d637f9f1fd1f7ff9cc6181ddb2d5 authored over 6 years ago by Costin Lupu <[email protected]>
Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Yuri Volchkov <yuri.volchkov@nec...
Move vasprintf function in asprintf.c and drop vasprintf.c .
Signed-off-by: Costin Lupu <costin...
github.com/unikraft/unikraft - a791ae68f9ef95a97be26352bd3926b2cc8d8cf2 authored over 6 years ago by Costin Lupu <[email protected]>
Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Yuri Volchkov <yuri.volchkov@nec...
The second const keyword does not make any difference. The array is
not a pointer, it's address ...
1) Use the right includes
2) (u_)quad_t => (u)int64_t
3) u_char => unsigned char
4) strto(u)q =>...
Signed-off-by: Yuri Volchkov <[email protected]>
Reviewed-by: Florian Schmidt <florian.sch...
Copied as it is from official FreeBSD git mirror
(git://github.com/freebsd/freebsd.git)
Commit ...
github.com/unikraft/unikraft - fc8319d3e017517ae94da71a484676b98ab71496 authored over 6 years ago by Yuri Volchkov <[email protected]>Just put them in the order they are used - so no prototypes are needed
Signed-off-by: Yuri Volc...
github.com/unikraft/unikraft - 4ae6809232942ab28ac9805127792e1cf7954ab8 authored over 6 years ago by Yuri Volchkov <[email protected]>
So far, when the text output overflowed the bottom of the console, it
was completely cleared, an...
The macros for signed integers are PRIdN and PRIiN, and SCNdN
and SCNiN, respectively. The d and...
We use empty spinlocks for indicating where synchronization is
required. The spinlocks operatio...
Add an option in the KVM configuration to use VGA console.
The VGA dimensions are 25x80. Once th...
Introduce __maybe_unused attribute macro that should be used for cases
where the usage of a symb...
Change uk_getmallocsize() to return the allocated size in
bytes instead of page order. The alloc...
Move definition of uk_swrand struct from mwc.c to swrand.h.
This is required to enable allocatio...
As we have introduced UK_FAMILY for build scipts. In order to
reflect the CPU family schema, we ...
There are some space characters at the end of code lines and
one more blank line at the end of t...
This patch series modifies the folder layout organized by CPU
families like:
unikraft----arch---...
We are using the sed scripts to parse target architecture from
compiler's output. But for arm64,...
Platform drivers need a way to get the virtual address coverted to the
physical address. We prov...
Currently, the virtio base driver contains the implementation only for
virtio rings. The impleme...
Some of the functions were already implemented in the CPU header, so
only the missing functions ...
Shamelessly taken from Mini-OS.
Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by:...
Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Yuri Volchkov <yuri.volchkov@nec...
Simple grant table implementation ported and adapted from Mini-OS.
Signed-off-by: Costin Lupu <...
github.com/unikraft/unikraft - 51780f273e96086220d9954eab9a4bb115916e3b authored over 6 years ago by Costin Lupu <[email protected]>
Kernel subsystems may require memory allocation for internal
initializations and therefore such ...
Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Yuri Volchkov <yuri.volchkov@nec...
Demand area is a new memory region used for Xen for on-demand memory
mappings. An example of use...
Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Yuri Volchkov <yuri.volchkov@nec...
New definition for retrieving the size for arrays.
Signed-off-by: Costin Lupu <[email protected]...
github.com/unikraft/unikraft - 0f0d39d4e911efd0b45dbbab5eda0a7986fd088c authored over 6 years ago by Costin Lupu <[email protected]>
Minor fix for properly evaluating expressions using the
PCI_REGISTER_DRIVER macro.
Signed-off-b...
github.com/unikraft/unikraft - b0eb8b715a5f831619e8e7e59c80b9071e9452bc authored over 6 years ago by Costin Lupu <[email protected]>
The usage of a each memory region that is added to the binary
buddy allocator is tracked with a ...
Introduces the first & initial version of PCI bus driver.
It is able to iterate over PCI devices...
This library creates infrastructure to support different
devices buses within Unikraft. It provi...
Initial implementation for inter-thread communication with mailboxes.
The implmentation is based...
Provides implementation for 2 types of synchronization primitives:
* Semaphore
* Mutex
They are ...
Adds atoi() conversion function to stdlib. It is based on strtoll().
Signed-off-by: Simon Kuenz...
github.com/unikraft/unikraft - 4d06ded71ab16b191577d6a202dd3c5c60569e9f authored over 6 years ago by Sharan Santhanam <[email protected]>
Initializing liblwip within libukboot is temporary and will disappear as soon
as we have also an...
The initial implementation of the vfs abstraction layer. The task of
the library is to allocate ...
Normally printf-alike functions are writing to the file 1 or 2. This
patch provides necessary fi...
We have to revisit stripping of KVM binaries. We noticed that sometimes
the images are broken an...
Implementation a psuedo random number generator.
Signed-off-by: Simon Kuenzer <simon.kuenzer@ne...
github.com/unikraft/unikraft - 415e1ed0584e29add3a1d71b661d26f171edb920 authored over 6 years ago by Sharan Santhanam <[email protected]>
Now the tool will be called for every compiled file, modifying the
dependency file. It does 2 th...
To reflect recent modifications in the build system
Signed-off-by: Yuri Volchkov <yuri.volchkov...
github.com/unikraft/unikraft - 413d574c4daf9bb7b0d63f1b77180c7bf47b269e authored over 6 years ago by Yuri Volchkov <[email protected]>
There are two reasons to have prefix CONFIG_:
1) This makes code a bit more understandable - one...
For the sake of trace-ability, the file is imported _AS_IS_ without a
single modification.
Orig...
github.com/unikraft/unikraft - 1cd9ff06f5fe1d0ff07feb30f841f0c47969e5c8 authored over 6 years ago by Yuri Volchkov <[email protected]>
The *conf utilities are generating a bunch of empty *.h files,
reflecting the configuration menu...
Interrupts/events have to be enabled right before starting the
application.
Signed-off-by: Cost...
github.com/unikraft/unikraft - 7ad89bf353929163a06d4b0cd05cafae14c3f120 authored over 6 years ago by Costin Lupu <[email protected]>
CPU functions can be classified into 3 categories: (1) native functions that
are used on both pl...
Current changes introduce common x86 tracing functions (stack trace, register
dumps and memory d...
Introducing ukplat_irq_init function for IRQ subsystem initialization.
The IRQ subsystem might r...
Current changes introduce common x86 traps definitions and functions for both
Xen and KVM platfo...
Revisiting ukplat_lcpu_halt* functions.
Signed-off-by: Costin Lupu <[email protected]>
Revi...
Introducing new header for x86 CPU register layouts.
Signed-off-by: Costin Lupu <costin.lupu@cs...
github.com/unikraft/unikraft - cf2e106772931b138297b5896e7e987673c68ed3 authored over 6 years ago by Costin Lupu <[email protected]>
libuktimeconv adds helpers for detecting leap years,
calculating the days per month or year, and...
Changes:
* PIC support
* KVM specific traps
* traps and interrupt assembly stubs
* shared IRQ ha...
Introducing new header for segment descriptors.
Signed-off-by: Costin Lupu <[email protected]....
github.com/unikraft/unikraft - 6ea24ce5fb64ede1f1e50f5b9930e87e239968cc authored over 6 years ago by Costin Lupu <[email protected]>
__regs structure represents the hardware context used in trap handling.
In assembly, structure f...
On some platforms the timers have a dependency to the interrupt
subsystem. Becasue of this reaso...
Changes:
- using new context callbacks abstraction
- idle thread is specific to all schedulers
...
github.com/unikraft/unikraft - aa06468af0fb3ed4af95e10531b902a4730dccb4 authored over 6 years ago by Costin Lupu <[email protected]>
Introduce a ukplat API registration function for interrupt
handlers.
Signed-off-by: Simon Kuenz...
github.com/unikraft/unikraft - 9e16503578e8cab6ac012da410445b74915c576d authored over 6 years ago by Simon Kuenzer <[email protected]>
Initialize `stack` with `NULL` in uk_sched_thread_create() to avoid
potential bugs caused by uni...
Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Simon Kuenzer <simon.kuenzer@nec...
We are using TSC clock as main timer on KVM.
Signed-off-by: Costin Lupu <[email protected]>...
github.com/unikraft/unikraft - 790787e1acc28d4fa0b74b81163677bb9e2aa659 authored over 6 years ago by Costin Lupu <[email protected]>
These functions enable/disable interrupts without using the interrupt
enable flag of the CPU fla...