mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-06 19:20:09 +00:00
05522696c7
On x86, the `Vm_session_component` obscured the differences between SVM and VMX. Separate the implementations, factor out common functionality and address a number of long-standing issues in the process: - Allocate nested page tables from Core_ram_allocator as a more suitable abstraction and account for the required memory, subtract the necessary amount of RAM from the session's `Ram_quota` *before* constructing the session object, to make sure that the memory allocated from the `Core_ram_allocator` is available from the VMM's RAM quota. - Move the allocation of Vcpu_state and Vcpu_data into the Core::Vcpu class and use the Core RAM Allocator to allocate memory with a known physical address. - Remove the fixed number of virtual CPUs and the associated reservation of memory by using a Registry for a flexible amount of vCPUs. Issue #5221