Benjamin Lamowski 56cb822c86 base-hw: don't call Hw_vcpu::run() from the constructor
On x86_64, calling Hw_vcpu::run() will cause a startup exit that is
signaled to the VMM. The VMM will subsequently call with_state().
When Hw_vcpu::run() is called from the Hw_vcpu constructor, this can
lead to a situation where the VMM calls with_state() on a vCPU that
isn't fully constructed yet.

The VMM library API requires that the vCPU starts up in order to emit a
startup exit at construction. Call Hw_vcpu::run() from the
Vm_connection::Vcpu constructor instead of calling run() from the
Hw_vcpu constructor to avoid running a native vCPU that isn't fully
constructed yet.

Fixes #5442
2025-02-27 12:53:40 +01:00
..
2025-02-24 16:39:21 +01:00
2025-01-30 16:32:35 +01:00
2025-02-24 16:39:20 +01:00