On Mon, Nov 10, 2025, Yosry Ahmed wrote:
On Sun, Nov 09, 2025 at 08:59:18AM +0100, Paolo Bonzini wrote:
On 11/8/25 01:45, Yosry Ahmed wrote:
In preparation for using svm_copy_lbrs() with 'struct vmcb_save_area' without a containing 'struct vmcb', and later even 'struct vmcb_save_area_cached', make it a macro. Pull the call to vmcb_mark_dirty() out to the callers.
The changes to use `struct vmcb_save_area_cached' are not included in this series, so they are irrelevant.
Since I've applied patches 1-3, which fix the worst bugs, there are two ways to handle the rest:
- keep the function instead of the macro, while making it take a struct
vmcb_save_area (and therefore pulling vmcb_mark_dirty() to the callers and fixing the bug you mention below).
- you resubmit with the changes to use struct vmcb_save_area_cached, so that
the commit message makes more sense.
I can include patches 4-6 with the respin of the series [1] that has the changes to use `struct vmcb_save_area_cached`. That series origianlly had the patch to switch svm_copy_lbrs() to a macro, but I moved it here to use for the save/restore patch. I was planning to rebase [1] on top of this series anyway.
There is a hiccup though, I assumed everything would go through Sean's tree so I planned to respin [1] on top of this series. Otherwise, they will conflict. With the first 3 patches in your tree, I am not sure how that would work.
I can respin [1] on top of Sean's kvm-x86/next or kvm-x86/svm, but it will conflict with the patches you picked up eventually, and I already have them locally on top of the LBR fixes so it seems like wasted effort.
Sean, Paolo, how do you want to handle this?
Base your patches on kvm/master, assuming there's nothing in kvm-x86/svm that you need. I can create a one-off branch, e.g. kvm-x86/lbrv, based on kvm/master or 6.18-rc6.