]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
KVM: x86: Bury emulator read/write ops in emulator_{read,write}_emulated()
authorSean Christopherson <seanjc@google.com>
Wed, 25 Feb 2026 01:20:45 +0000 (17:20 -0800)
committerSean Christopherson <seanjc@google.com>
Tue, 3 Mar 2026 00:02:53 +0000 (16:02 -0800)
Now that SEV-ES invokes vcpu_mmio_{read,write}() directly, bury the
read vs. write emulator ops in the dedicated emulator callbacks so that
they are colocated with their usage, and to make it harder for
non-emulator code to use hooks that are intended for the emulator.

Opportunistically rename the structures to get rid of the long-standing
"emultor" typo.

No functional change intended.

Tested-by: Tom Lendacky <thomas.lendacky@gmail.com>
Tested-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
Link: https://patch.msgid.link/20260225012049.920665-11-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/x86.c

index 6ecc3cf972ae21163680ffa12daad88c2c004173..abc4ec06c548065fe2b1083925a40634a30aea96 100644 (file)
@@ -8133,17 +8133,6 @@ static int write_emulate(struct kvm_vcpu *vcpu, gpa_t gpa,
        return emulator_write_phys(vcpu, gpa, val, bytes);
 }
 
-static const struct read_write_emulator_ops read_emultor = {
-       .read_write_emulate = read_emulate,
-       .read_write_mmio = vcpu_mmio_read,
-};
-
-static const struct read_write_emulator_ops write_emultor = {
-       .read_write_emulate = write_emulate,
-       .read_write_mmio = vcpu_mmio_write,
-       .write = true,
-};
-
 static int emulator_read_write_onepage(unsigned long addr, void *val,
                                       unsigned int bytes,
                                       struct x86_exception *exception,
@@ -8294,8 +8283,13 @@ static int emulator_read_emulated(struct x86_emulate_ctxt *ctxt,
                                  unsigned int bytes,
                                  struct x86_exception *exception)
 {
-       return emulator_read_write(ctxt, addr, val, bytes,
-                                  exception, &read_emultor);
+       static const struct read_write_emulator_ops ops = {
+               .read_write_emulate = read_emulate,
+               .read_write_mmio = vcpu_mmio_read,
+               .write = false,
+       };
+
+       return emulator_read_write(ctxt, addr, val, bytes, exception, &ops);
 }
 
 static int emulator_write_emulated(struct x86_emulate_ctxt *ctxt,
@@ -8304,8 +8298,13 @@ static int emulator_write_emulated(struct x86_emulate_ctxt *ctxt,
                            unsigned int bytes,
                            struct x86_exception *exception)
 {
-       return emulator_read_write(ctxt, addr, (void *)val, bytes,
-                                  exception, &write_emultor);
+       static const struct read_write_emulator_ops ops = {
+               .read_write_emulate = write_emulate,
+               .read_write_mmio = vcpu_mmio_write,
+               .write = true,
+       };
+
+       return emulator_read_write(ctxt, addr, (void *)val, bytes, exception, &ops);
 }
 
 #define emulator_try_cmpxchg_user(t, ptr, old, new) \