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
Each read/write request needs a number of grant references. In order to avoid
allocating new gra...
This patch introduces the functions used for allocating new grant references in
order to share r...
This patch introduces the function used in processing of responses from the
queue. Responses are...
This patch introduces the flush requests.
This operation garantees that all previous write reque...
This patch introduces the request interface.
The following steps are:
-> find a free spot in the...
This patch introduces the function which reads the device capabilities from
Xenstore, after conn...
This patch introduces the last step of start operation:
Writing to Xenstore information about ea...
This patch introduces start/stop operations of the blkfront device. Start
operation implies conn...
This patch introduces support for both enabling and disabling interrupts on
queues.
Signed-off-...
github.com/unikraft/unikraft - c1c055e0d3a165791b446b128f9b2c7cf73c50e2 authored about 5 years ago
Blkfront queues use Xen shared rings. This patch sets up the shared rings
(allocates, initialize...
This patch allocates the queues used for communication with the device. One
queue is responsible...
This patch introduces the configuration operation for block frontends.
Currently, we are only co...
This patch initiliazes the Xenbus device abstraction used for enabling
communication between blk...
This patch registers blkfront with libukblkdev.
Signed-off-by: Roxana Nicolescu <nicolescu.roxa...
github.com/unikraft/unikraft - 9065c15ef352ebb99f3eba04795cea46fd53974d authored about 5 years agoThis patch introduces the blkfront driver skeleton.
Signed-off-by: Roxana Nicolescu <nicolescu....
github.com/unikraft/unikraft - 30f42955fc36ded7b643c818aa1180f2fee69f96 authored about 5 years agoAdd virtual block device type entry in the xenbus device type enum.
Signed-off-by: Roxana Nicol...
github.com/unikraft/unikraft - 692afdc461ee9e299f0f284280463c967775d46c authored about 5 years ago
Update mfn, domain id and permission fields on grants if we want to reuse them.
Resetting the fl...
Because asprintf() is a GNU extension, we define _GNU_SOURCE in order to enable
its declaration....
Build p2m table needed for direct paging on paravirtualized Xen
Code adapted from Mini-OS.
Sig...
github.com/unikraft/unikraft - c6da55ad051de924832c40e11d577405dd8818a7 authored about 5 years ago
Split the ARM generic timer implementation in two files,
such that we reduce code duplication in...
thread.c and sw_ctx.c were added twice when building on x86_64.
Signed-off-by: Mihai Pogonaru <...
github.com/unikraft/unikraft - 45b59c2220bdf88c00940c52aab71866276fbdd1 authored about 5 years ago
We had done a mistake in this API, when flags & PSR_I returns
non-zero, this means the CPU IRQ e...
Implement assembly helpers for Unikraft schedule APIs.
Signed-off-by: Wei Chen <[email protected]...
github.com/unikraft/unikraft - c06ff6e616083b049b84b9d2b94db04ea8bcc6e7 authored about 5 years ago
Some files like thread.c, sw_ctx.c and thread_start64.S can be
added to build system now. When C...
In thread context switch, we will save the callee-saved registers
(x19 ~ x28) and Frame Point Re...
As Arm64 just needs stack 16-byte alignment. So this rnsure (%rsp + 8)
16-byte alignment is used...
Signed-off-by: Mihai Pogonaru <[email protected]>
Reviewed-by: Costin Lupu <costin.lupu@cs...
Signed-off-by: Mihai Pogonaru <[email protected]>
Reviewed-by: Costin Lupu <costin.lupu@cs...
We use it to include <sys/statfs.h>, just as musl does.
Signed-off-by: Mihai Pogonaru <pogonaru...
github.com/unikraft/unikraft - f8720869ba9c95bc3be7023a57a1190d919e477e authored about 5 years agoIt was initially imported from musl:
Copied as is from the official musl git mirror
git://git.m...
Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Mihai Pogonaru <pogonarumihai@gm...
Copied as is from the official musl git mirror
git://git.musl-libc.org/musl, commit 6fcb440d.
S...
github.com/unikraft/unikraft - 55dcd43fe234df941300bd177a58fc19c94af9a6 authored about 5 years ago
Signed-off-by: Mihai Pogonaru <[email protected]>
Reviewed-by: Costin Lupu <costin.lupu@cs...
Signed-off-by: Mihai Pogonaru <[email protected]>
Reviewed-by: Costin Lupu <costin.lupu@cs...
We keep the original behavior which printed the warning only once.
Signed-off-by: Mihai Pogonar...
github.com/unikraft/unikraft - 062a9edeebe330d166b0679e186eab66b39ac4dd authored about 5 years ago
We introduce 3 main functions for cleaning up the device:
-> stop: further requests are not all...
Without this patch, compiler will report warning as follows:
In file included from plat/common...
Using builtin is better as you can let the GCC folks to maintain the
function.
I've compared th...
github.com/unikraft/unikraft - 0c98cb7480d1e2fad98186be289cb478613306d0 authored over 5 years ago
This patch is to fix the compilation error when building arm64 kvm image
build/unikraft_kvm-arm6...
Without this patch, compiler will report:
unikraft/plat/common/include/tls.h:38:2: error: #error...
On arm64, we don't need the extra registers during context switching so
far. This patch decouple...
Without this patch, compiler will report a warning:
plat/kvm/arm/intctrl.c: In function 'intctrl...
This is to add the header guards to avoid including header file
plat/common/include/arm/arm64/cp...
Guarded sleep() prototype in NOLIBC with HAVE_TIME,
as sleep() depends on HAVE_TIME and better t...
We use Unikraft types and define the missing id_t type for nolibc.
Signed-off-by: Costin Lupu <...
github.com/unikraft/unikraft - 245f280c6d02c011e0f1119556ee21d09cbc9f4d authored over 5 years ago... and bits/resource.h which is just an empty header.
Copied as is from the official musl git ...
github.com/unikraft/unikraft - 651b3b758afd02f8647564bfc597c603c796263b authored over 5 years ago
posix-process internal library provide POSIX compatibility for process-related
functionality. Fo...
When selecting Virtio Net device or Virtio 9P, the PCI device wouldn't
be automatically selected...
Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Felipe Huici <felipe.huici@necla...
Since it was introduced, lib/ukunistd has provided only user-related
functionality. Therefore it...
shareddefs.h now uses a config flag (CONFIG_HAVE_TIME) but the file
was not including uk/config....
We choose to _imply_ uktime in order to support time functions transparently.
When configurating...
We currently declare only those functions that are not declared by newlib. Later
on, we might ap...
We basically take the type definitions we used for nolibc and put them in
time_types.h.
In this...
github.com/unikraft/unikraft - fbbc468c9e8db8b2b3e38048b6668a07d74a9fa4 authored over 5 years ago
The reason is that the internal libs headers should have priority because they
provide the defin...
This patch introduces the interface for sending a request and
receiving a response. This is desi...
This patch introduces sync operations.
It requires the use of semaphore in the implementation.
...
github.com/unikraft/unikraft - 112e72435302b619de177a7e8a247d3332cfd511 authored over 5 years agoAdd and register libukblkdev library skeleton.
Signed-off-by: Roxana Nicolescu <nicolescu.roxan...
github.com/unikraft/unikraft - 7eef38e0172c8c18d2f69065d2000d4615dce2ef authored over 5 years ago
This patch introduces the API for initializing a Unikraft block device.
The initialization is do...
This patch introduces the initial blkdev API supporting device
registration. We introduce three ...
Because you can provide the mount parameters using command line parameters.
Signed-off-by: Cost...
github.com/unikraft/unikraft - ca8534cff84b6acf0343195734cef8e6f8bcdf75 authored over 5 years ago
The previous time.c is for arm64 only, so split arch specific codes from
time.c to different dir...
Currently, in unikraft, the timer interrupt hasn't been
used to update ticks periodically. We ju...
This function will be used when system enter sleep and need wakeup
in a specific time. For ns_to...
Several function will use the arch_timer fdt node to get information
from device tree. We find i...
We had shift factor for coverting counter ticks to ns, but it's not
enough. Sometime, we need to...
The position of recording boot_ticks is a little later. We moved
it to the very beginning of pla...
Rename to generic_timer_get_ticks would be good for unifing
the prefix of the generic timer func...
time.c uses `__unused` macro which is introduced by <uk/essentials.h>
when nolibc is used.
Sign...
github.com/unikraft/unikraft - 9796e80fb4670df057cf960d3b373cdb4fb5937d authored over 5 years ago
When building Xen for x86 and using nolibc, uktime needs to be
included, too. Otherwise the buil...
Automatically select the virtio-9p and virtio-net drivers depending on
whether lib/uknetdev or l...
We move the liblwip initialization to the into the lwip library
and register it with the inittab...
Provide the rootdev parameter for 9PFS in the vfscore automount
submenu. 9PFS is using the rootd...
libvfscore has a dependency to libuktime if it is built with nolibc.
Signed-off-by: Simon Kuenz...
github.com/unikraft/unikraft - 22eb586a7f60679de49b8aefdd292b55a5253915 authored over 5 years ago
Configure script make a recursive search of the directory. We restrict
the depth of the search o...
The patch remove the hard-coded platform list and builds the in-tree
platform list
Signed-off-b...
github.com/unikraft/unikraft - 1b33bcfbcf2edcc7177c6ff9c7681a49764ee6b9 authored over 5 years agoAdd convenience macro to allocate a single element zeroed out memory.
Signed-off-by: Sharan San...
github.com/unikraft/unikraft - 4d534c718e712d8ec829001f96a9bb91c2560a7d authored over 5 years ago
Using the uknetdev library alone does not make much sense without a network
driver. Moreover, it...
This patch copies the changes that were only in the newlib's time.c.
Signed-off-by: Costin Lupu...
github.com/unikraft/unikraft - d78f209a073d1e9d91f00e98147ba368ccbf29af authored over 5 years ago
* Remove time.h and sys/time.h headers. We will use the ones from lib/uktime.
* Add missing type...
Copied as is from the official musl git mirror
git://git.musl-libc.org/musl, commit 6fcb440d.
S...
github.com/unikraft/unikraft - 2ac2cd6b3120e594761dca93cb70ed2c696c0097 authored over 5 years ago
There are 2 files time.c with duplicated code in nolibc and newlib, with minor
differences. Ther...
Copied as is from the official musl git mirror
git://git.musl-libc.org/musl, commit 6fcb440d.
S...
github.com/unikraft/unikraft - 7870e31093f0ff35bf869d9c5fb3cda697785be4 authored over 5 years ago
Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Roxana Nicolescu <nicolescu.roxa...
Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Roxana Nicolescu <nicolescu.roxa...
The contents of this header were disabled until now because we were using the
definitions of new...
This function is used in libnewlibc posix/glob.c
Signed-off-by: Mihai Pogonaru <pogonarumihai@g...
github.com/unikraft/unikraft - ed2f7b7a5a318dc362b72d357bf7b18c4ff9b6f6 authored over 5 years ago
sysconf call returns __PAGE_SIZE when _SC_PAGESIZE is passed as an
argument.
Signed-off-by: Vla...
github.com/unikraft/unikraft - 929e7f7d66a64407ce2b5574dac53e5743348f7f authored over 5 years agoThese are remnants of commit 2c29345c.
Signed-off-by: Costin Lupu <[email protected]>
Revie...
With the introduction of the inittab, there shouldn't be a need to
perform explicit initializati...
This function is used for filling buffers with random data. We
introduce it now because it is us...
It seems that there is a typo in `device.h`: `devfs_initcall()`. Any
device node registration to...
This patch cleans up the devfs integration of ukswrand:
- The config option is properly namespac...
The automount option of devfs to `/dev` is moved to an inittab entry.
Signed-off-by: Simon Kuen...
github.com/unikraft/unikraft - b0bd05a27c4eceecc0bac0dce3c2c221f7161afa authored over 5 years ago
Moves the option of automatically a rootfs to lib/vfscore. This
feature is not only useful for i...
Mount never failed when the filesystem name was incorrect. This was
due to the vfscore-internal ...
Vnode operations are implemented with function calls. In order to stub
some of the operations a ...
Add support to iterate through the inittab and call the init functions.
Signed-off-by: Sharan S...
github.com/unikraft/unikraft - 95b787241a068f4f0e2e7e64488bc1157317dc3f authored over 5 years ago
The patch introduces the interface for the inittab. The patch provides
implementation to group t...
preinit and init tables are part of ported libraries and applications.
Since they are originally...