mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-24 21:09:47 +00:00
Initializing a vCPU on base-hw involved a round-trip to the kernel to send the initial startup exit signal and setting up the vCPU on first run of the vCPU thread. Signal the vCPU handler directly from the base libary. This removes the need to call `Vm::run()` during construction of the vCPU, possibly from a remote core. Check that `Vm::run()` and `Vm::pause()` are only called from the local CPU core. Finally, move the initialization of the vCPU from `Vm::proceed()` to `Vm::run()`, so that the `Vcpu_state` can be synced from the VMM directly after initialization. Fixes #5483