HomeFreeBSD

vmm: Use struct vcpu in the instruction emulation code.

Description

vmm: Use struct vcpu in the instruction emulation code.

This passes struct vcpu down in place of struct vm and and integer
vcpu index through the in-kernel instruction emulation code. To
minimize userland disruption, helper macros are used for the vCPU
arguments passed into and through the shared instruction emulation
code.

A few other APIs used by the instruction emulation code have also been
updated to accept struct vcpu in the kernel including
vm_get/set_register and vm_inject_fault.

Reviewed by: corvink, markj
Differential Revision: https://reviews.freebsd.org/D37161

(cherry picked from commit d3956e46736ffaee5060c9baf0a40f428bc34ec3)

Details

Provenance
jhbAuthored on Nov 18 2022, 6:02 PM
Reviewer
corvink
Differential Revision
D37161: vmm: Use struct vcpu in the instruction emulation code.
Parents
rG6cedf47c177b: vmm: Add vm_gpa_hold_global wrapper function.
Branches
Unknown
Tags
Unknown