genode/repos/base
Stefan Kalkowski 494f881f27 core: don't use frame 0 for managing_system pd
When a PD owns the right to ask for a RAM dataspace's `dma_addr` it is
concurrently constrained to use allocations of a specific physical RAM area.
This commit further limits this area by removing RAM page frame zero.
Otherwise the return value of `dma_addr` for such a dataspace would be
erroneously interpreted as a fault, because zero is currently the error
return value of `dma_addr`.

Fix genodelabs/genode#4428
2022-02-21 15:44:22 +01:00
..
board hw: remove rpi1/3 board support 2022-01-19 12:38:12 +01:00
etc tool_chain: update gcc to version 10.3.0 2021-05-28 14:15:26 +02:00
include Consistent spelling of "writeable" 2022-02-15 10:23:58 +01:00
lib mk/ld.mk: trigger kernel-dependent ld.lib.so build 2022-02-15 10:20:59 +01:00
mk mk: abi does not depend shared-lib dependencies 2022-02-21 15:44:22 +01:00
ports imx8q_evk: remove board support from repository 2021-11-29 15:10:51 +01:00
recipes depot: update recipe hashes 2022-02-15 10:23:59 +01:00
run usb_host_drv: move it to legacy_usb_host_drv 2022-02-15 10:23:16 +01:00
src core: don't use frame 0 for managing_system pd 2022-02-21 15:44:22 +01:00
xsd base_types.xsd: allow session labels of length 0 2018-11-16 14:37:19 +01:00
README core: add information about infos provided by core 2017-06-29 11:59:52 +02:00

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.

_Core_ may export information about the hardware platform by an ROM
called 'platform_info'. Depending on the platform, e.g. ARM or x86 or riscv,
and depending on the boot mode and boot loader and kernel, some nodes may not
be populated.

!<platform_info>
! <acpi revision="2" rsdt="0x1fe93074" xsdt="0x1fe930e8"/>
! <boot>
!   <framebuffer phys="0x7300000" width="1024" height="768" bpp="32"/>
! </boot>
!</platform_info>

If the ACPI RSDT and XSDT physical pointer is reported by the used kernel
and/or bootloader, _Core_ may provide this information by the ROM.

If the graphic device is initialised and can be directly used by a framebuffer
driver, _Core_ may provide the physical pointer to the framebuffer, the
resolution and color depth in bits.