genode/repos/os
Norman Feske 3fc2a798b2 init: heuristics for DMA buffer allocations
If a child is allowed to constrain physical memory allocations but left
the 'phys_start' and 'phys_size' session arguments blank, init applies
builtin constraints for allocating DMA buffers.

The only component that makes use of the physical-memory constraint
feature is the platform driver. Since the built-in heuristics are
applied to the platform driver's environment RAM session, all
allocations performed by the platform driver satisfy the DMA
constraints.

To justify building-in these heuristics into init as opposed to
supplying the values as configuration arguments, the values differ
between 32 and 64 bit. The configuration approach would raise the need
to differentiate init configurations for both cases, which are
completely identical otherwise.

Issue #2407
2017-05-31 13:16:13 +02:00
..
doc Documentation changes on account of the book 2016-05-26 15:54:16 +02:00
include terminal: add Cell_array destructor 2017-05-31 13:16:12 +02:00
lib/mk os/timer: interpolate time via timestamps 2017-05-31 13:16:11 +02:00
recipes Assign cap quotas in run scripts and recipes 2017-05-31 13:16:06 +02:00
run os/timer: interpolate time via timestamps 2017-05-31 13:16:11 +02:00
src init: heuristics for DMA buffer allocations 2017-05-31 13:16:13 +02:00
README

This is the example operating system based on the Genode OS framework:

:_Init_: is the first real process in the system. The provided implementation
  uses a very simple XML parser to read its configuration files.

:_Drivers_: The example OS has basic drivers for frame buffer, mouse and
  keyboard input, the PCI bus, the real-time clock, and system-specific timers.

:_Server_: The only server in the example OS is Nitpicker, a
  minimal-complexity GUI server.

:_Test_: are also part of the example OS. You may have a look at the fork
  bomb as a simple system stress test.

:_Ldso_: is the dynamic linker used for loading executables that are linked
  against shared libraries.

:_Lib_: contains libraries used by the components of the OS repository,
  for example, the alarm framework.