genode/repos/dde_rump
Norman Feske 9d67f9fc8e Remove Allocator_guard
This patch removes old 'Allocator_guard' utility and replaces its use
with the modern 'Constrained_ram_allocator'.

The adjustment of core in this respect has the side effect of a more
accurate capability accounting in core's CPU, TRACE, and RM services.
In particular, the dataspace capabilities needed for core-internal
allocations via the 'Sliced_heap' are accounted to the client now.
The same goes for nitpicker and nic_dump as other former users of the
allocator guard. Hence, the patch also touches code at the client and
server sides related to these services.

The only remaining user of the 'Allocator_guard' is the Intel GPU
driver. As the adaptation of this component would be too invasive
without testing, this patch leaves this component unchanged by keeping a
copy of the 'allocator_guard.h' locally at the component.

Fixes #3750
2020-05-18 10:16:12 +02:00
..
include base: use Mutex/Blockade 2020-04-17 12:40:12 +02:00
lib dde_rump: backport aarch64 (Fix #3565) 2019-12-19 16:59:03 +01:00
patches dde_rump: backport aarch64 (Fix #3565) 2019-12-19 16:59:03 +01:00
ports dde_rump: backport aarch64 (Fix #3565) 2019-12-19 16:59:03 +01:00
recipes/src/rump depot: update recipe hashes 2020-04-24 14:37:57 +02:00
run Remove Allocator_guard 2020-05-18 10:16:12 +02:00
src/lib dde_rump: backport aarch64 (Fix #3565) 2019-12-19 16:59:03 +01:00
README rump_fs: support the access of GEMDOS file systems 2019-08-21 12:37:00 +02:00
rump.list rump: reduce size of rump 2017-11-30 11:23:19 +01:00

                             ================================
                             Genode's Rump Kernel kernel port
                             ================================

This repository contains the Genode version of the
[http://wiki.netbsd.org/rumpkernel/ - rump kernel].
The kernel is currently used to gain file-system access from within Genode.
In order to achieve that, the rump kernel is integrated into a VFS plugin,
located at _src/lib/vfs/rump_. It can thereby by used directly by libc
applications, or indirectly by using the VFS-server component.


Building instructions
#####################

In order to build the VFS plugin, issue

! ./tool/ports/prepare_port dde_rump

from Genode's toplevel directory.


Add

! REPOSITORIES += $(GENODE_DIR)/repos/dde_rump

to your _etc/build.conf_ file of you build directory.

Finally,

! make lib/vfs/rump

called from your build directory will build the plugin.


Configuration
#############

Here is an example snippet that configures the VFS plugin:

| <rump fs="msdos" ram="7M" writeable="yes"/>"

The VFS plugin obtains a block session. If there is more than one block
session in the system, the block session must be routed to the right
block-session server. The value of the _fs_ attribute can be one of the
following: _ext2fs_ for EXT2, _cd9660_ for ISO-9660, or _msdos_ for FAT
file-system support. When accessing a _msdos_ file system, the optional
attribute 'gemdos="yes"' can be specified to operate in GEMDOS compatibility
mode.

The VFS plugin hands over the specified amount of RAM quota to the rump
kernel. The larger the quota is, the larger the internal block caches of the
rump kernel will be.