mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-21 18:06:50 +00:00
When L4Linux tries to allocate a dataspace of the size of its physical memory, this allocation can fail, because the 'l4re_ma_alloc()' function in the 'l4lx' library always tries to allocate a contiguous dataspace of the given size and there might be no contiguous free area left. With this patch, memory gets allocated in chunks: if the size to be allocated exceeds the configured chunk size, a managed dataspace gets created and filled with multiple memory chunks of at most the chunk size. The chunk size is 16M by default and can be configured in an l4linux config node: <config args="..."> <ram chunk_size="16M"/> </config> Fixes #695.
This is generic part of the Genode implementation. It consists of two parts: :_Core_: is the ultimate root of the Genode application tree and provides abstractions for the lowest-level hardware resources such as RAM, ROM, CPU, and generic device access. All generic parts of Core can be found here - for system-specific implementations refer to the appropriate 'base-<system>' directory. :_Base libraries and protocols_: that are used by each Genode component to interact with other components. This is the glue that holds everything together.