Page MenuHomeFreeBSD

vmm: Rework snapshotting of CPU-specific per-vCPU data.
ClosedPublic

Authored by jhb on Oct 27 2022, 3:03 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Feb 8, 12:13 PM
Unknown Object (File)
Sun, Feb 8, 5:33 AM
Unknown Object (File)
Sun, Feb 8, 4:22 AM
Unknown Object (File)
Mon, Feb 2, 9:45 AM
Unknown Object (File)
Mon, Feb 2, 4:52 AM
Unknown Object (File)
Sun, Feb 1, 8:36 AM
Unknown Object (File)
Sat, Jan 31, 1:24 AM
Unknown Object (File)
Fri, Jan 16, 6:15 AM
Subscribers

Details

Summary

Previously some per-vCPU state was saved in vmmops_snapshot and other
state was saved in vmmops_vcmx_snapshot. Consolidate all per-vCPU
state into the latter routine and rename the hook to the more generic
'vcpu_snapshot'. Note that the CPU-independent per-vCPU data is still
stored in a separate blob as well as the per-vCPU local APIC data.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 48137
Build 45024: arc lint + arc unit

Event Timeline

markj added inline comments.
sys/amd64/vmm/amd/svm.c
2595

"i" is gone.

2640

Elsewhere this is done with svm_set_dirty(svm_sc, vcpu, 0xffffffff);. This code is missing VMCB_CACHE_LBR.

This revision is now accepted and ready to land.Nov 2 2022, 2:43 PM
sys/amd64/vmm/amd/svm.c
2640

I might fix that in a separate commit I'll add to the series. This is just a copy/paste of the old code.

This revision now requires review to proceed.Nov 3 2022, 11:48 PM
corvink added a reviewer: manu.
This revision is now accepted and ready to land.Nov 4 2022, 7:20 AM