genode/repos/base
Norman Feske 61926ebc07 base: introduce platform_init function
The new 'init_platform' function performs the platform-specific
component-local low-level initialization. It allows for the
differentiation between core and regular components as well as
kernel-dependent peculiarities.

This patch introduces a consistent notion of a 'Platform'. Within core,
the 'Platform' contains the kernel-specific initialization. Outside
core, the platform sets up the interplay with the parent component. In
all cases, the platform is constructed while running on the initial
stack.

Issue #4784
2023-03-15 17:05:01 +01:00
..
board Clear board/pc/devices 2023-01-24 12:07:29 +01:00
etc tool_chain: update gcc to version 10.3.0 2021-05-28 14:15:26 +02:00
include Update README files 2023-03-13 14:32:53 +01:00
lib base: introduce platform_init function 2023-03-15 17:05:01 +01:00
mk mk: restore compatibility to Make 4.1 2023-02-27 08:22:45 +01:00
ports grub2: add small default font 2023-02-27 08:20:46 +01:00
recipes depot: update recipe hashes 2023-03-13 14:32:54 +01:00
run base: remove internal use of format strings 2023-03-13 14:32:38 +01:00
src base: introduce platform_init function 2023-03-15 17:05:01 +01:00
xsd base_types.xsd: allow session labels of length 0 2018-11-16 14:37:19 +01:00
README Update README files 2023-03-13 14:32:53 +01:00

This is the generic Genode base system, which consists of two parts:

:_Core_: is the root of the Genode component tree. It provides abstractions for
  the lowest-level hardware resources such as RAM, ROM, CPU, and device access.
  All generic parts of core can be found here. For kernel-specific parts,
  refer to the appropriate 'base-<kernel>' directory.

:_Base libraries and interfaces: that are used by each Genode component
  to interact with other components. This is the glue that holds everything
  together.

Depending on the used kernel, core may export information about the hardware
platform as a ROM called 'platform_info'. For example, if the ACPI RSDT and
XSDT physical pointer are reported by the used kernel and/or bootloader, core
provides this information in the ROM as follows.

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

If the graphics device is initialised and can be directly used by a
framebuffer driver, core provides the physical pointer to the framebuffer, the
resolution, and color depth in bits.