genode/repos/base
Christian Helmuth 8661936d7d base: aquire context mutex in local_submit()
Some signal-heavy scenarios (e.g., libc_integration) produced the
following warning that hinted a data race on signal data in the context
object.

  Warning: returning signal with num == 0

The cause was the use of Signal_context::local_submit() in the libc
introduced in

  424ed1b79a libc: remove Reconstructible / use local_submit in kernel

in combination with a missing context-mutex aquisition resulting in a
data race on Signal_context::_curr_signal.

Issue #3923
2023-01-24 12:07:27 +01:00
..
board ps2_drv: use generic platform API 2022-10-12 12:09:33 +02:00
etc tool_chain: update gcc to version 10.3.0 2021-05-28 14:15:26 +02:00
include base: support ACPI suspend via Pd::managing_system 2022-11-18 14:45:27 +01:00
lib base: ld-<platform>.abi.so depends on symbol.map 2022-12-01 11:47:32 +01:00
mk mk: allow declaration of build artifacts for libs 2022-09-19 14:00:32 +02:00
ports grub2: make ISO bootable on hardware 2022-11-17 08:00:34 +01:00
recipes depot: update recipe hashes 2022-11-29 12:32:49 +01:00
run Remove legacy platform_drv, API, and platform.inc 2022-11-29 12:29:57 +01:00
src base: aquire context mutex in local_submit() 2023-01-24 12:07:27 +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.