genode/repos/base
Benjamin Lamowski daafe3f4e2 base: rework vmm library API
The new API emphasizes control over the vCPU data by granting access
through the Vcpu::with_state() method, which makes sure that the vCPU is
stopped, invokes the supplied function with a reference to the VM state
and resumes the vCPU if the function returns true.

The old Vcpu::run(), Vcpu::pause() and Vcpu::state() methods are removed
in favor of the new API. Execution of the vCPU is now interrupted by
sending a native Genode Signal to its Vcpu_handler, which will run the
VMM's exit handling method. When this method retrieves the vCPU state by
calling Vcpu::with_state(), the outside interruption is detected and on
x86 a recall exit is injected into the state to signal the vCPU
interruption / pause request to the VMM's vCPU handler.

Ref #4968
2023-10-04 13:22:03 +02:00
..
board qemu: set default cpu model for x86_64 explicitly 2023-06-16 11:24:25 +02:00
etc tool chain: update version to 23.05 2023-05-30 12:03:27 +02:00
include base: rework vmm library API 2023-10-04 13:22:03 +02:00
lib base: rework vmm library API 2023-10-04 13:22:03 +02:00
mk Configure ld soname also for lib.so files 2023-06-16 11:24:25 +02:00
ports grub2: add small default font 2023-02-27 08:20:46 +01:00
recipes depot: update recipe hashes 2023-08-24 11:01:40 +02:00
run core: rework page-fault resolution 2023-06-16 11:24:26 +02:00
src base: rework vmm library API 2023-10-04 13:22:03 +02: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.