]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
KVM: VMX: Move nested_mark_vmcs12_pages_dirty() to vmx.c, and rename
authorSean Christopherson <seanjc@google.com>
Fri, 21 Nov 2025 22:34:43 +0000 (14:34 -0800)
committerSean Christopherson <seanjc@google.com>
Thu, 8 Jan 2026 19:58:23 +0000 (11:58 -0800)
Move nested_mark_vmcs12_pages_dirty() to vmx.c now that it's only used in
the VM-Exit path, and add "all" to its name to document that its purpose
is to mark all (mapped-out-of-band) vmcs12 pages as dirty.

No functional change intended.

Link: https://patch.msgid.link/20251121223444.355422-5-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/vmx/nested.c
arch/x86/kvm/vmx/vmx.c

index f5ebd84a2f6beea8219028035aafa31740fd9bd8..6dd1da94f00cfd825c9b4c57849fe215a8b40a54 100644 (file)
@@ -3981,19 +3981,6 @@ static void vmcs12_save_pending_event(struct kvm_vcpu *vcpu,
        }
 }
 
-
-void nested_mark_vmcs12_pages_dirty(struct kvm_vcpu *vcpu)
-{
-       struct vcpu_vmx *vmx = to_vmx(vcpu);
-
-       /*
-        * Don't need to mark the APIC access page dirty; it is never
-        * written to by the CPU during APIC virtualization.
-        */
-       kvm_vcpu_map_mark_dirty(vcpu, &vmx->nested.virtual_apic_map);
-       kvm_vcpu_map_mark_dirty(vcpu, &vmx->nested.pi_desc_map);
-}
-
 static int vmx_complete_nested_posted_interrupt(struct kvm_vcpu *vcpu)
 {
        struct vcpu_vmx *vmx = to_vmx(vcpu);
index 6b96f7aea20bd3f39389da8c9a1cf890d2e29b05..b38bdbd7a7fa809fc717d34594564d13de95f026 100644 (file)
@@ -6378,6 +6378,18 @@ static void vmx_flush_pml_buffer(struct kvm_vcpu *vcpu)
        vmcs_write16(GUEST_PML_INDEX, PML_HEAD_INDEX);
 }
 
+static void nested_vmx_mark_all_vmcs12_pages_dirty(struct kvm_vcpu *vcpu)
+{
+       struct vcpu_vmx *vmx = to_vmx(vcpu);
+
+       /*
+        * Don't need to mark the APIC access page dirty; it is never
+        * written to by the CPU during APIC virtualization.
+        */
+       kvm_vcpu_map_mark_dirty(vcpu, &vmx->nested.virtual_apic_map);
+       kvm_vcpu_map_mark_dirty(vcpu, &vmx->nested.pi_desc_map);
+}
+
 static void vmx_dump_sel(char *name, uint32_t sel)
 {
        pr_err("%s sel=0x%04x, attr=0x%05x, limit=0x%08x, base=0x%016lx\n",
@@ -6655,7 +6667,7 @@ static int __vmx_handle_exit(struct kvm_vcpu *vcpu, fastpath_t exit_fastpath)
                 * Mark them dirty on every exit from L2 to prevent them from
                 * getting out of sync with dirty tracking.
                 */
-               nested_mark_vmcs12_pages_dirty(vcpu);
+               nested_vmx_mark_all_vmcs12_pages_dirty(vcpu);
 
                /*
                 * Synthesize a triple fault if L2 state is invalid.  In normal