mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-24 15:56:41 +00:00
daafe3f4e2
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 |
||
---|---|---|
.. | ||
board | ||
etc | ||
include | ||
lib | ||
mk | ||
ports | ||
recipes | ||
run | ||
src | ||
xsd | ||
README |
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.