[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251205074537.17072-1-jgross@suse.com>
Date: Fri, 5 Dec 2025 08:45:27 +0100
From: Juergen Gross <jgross@...e.com>
To: linux-kernel@...r.kernel.org,
kvm@...r.kernel.org,
x86@...nel.org,
linux-coco@...ts.linux.dev
Cc: Juergen Gross <jgross@...e.com>,
Paolo Bonzini <pbonzini@...hat.com>,
Sean Christopherson <seanjc@...gle.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>,
"H. Peter Anvin" <hpa@...or.com>,
Kiryl Shutsemau <kas@...nel.org>,
Rick Edgecombe <rick.p.edgecombe@...el.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
David Woodhouse <dwmw2@...radead.org>,
Paul Durrant <paul@....org>
Subject: [PATCH 00/10] KVM: Avoid literal numbers as return values
This series is the first part of replacing the use of literal numbers
(0 and 1) as return values with either true/false or with defines.
This work is a prelude of getting rid of the magic value "1" for
"return to guest". I started in x86 KVM host code doing that and soon
stumbled over lots of other use cases of the magic "1" as return value,
especially in MSR emulation where a comment even implied this "1" was
due to the "return to guest" semantics.
A detailed analysis of all related code paths revealed that there was
indeed a rather clean interface between the functions using the MSR
emulation "1" and those using the "return to guest" "1".
A few functions just using "0" and "1" instead of bool are changed,
tooi (patches 1-4).
The rest of the series is cleaning up the MSR emulation code by using
new proper defines for return values 0 and 1.
The whole series should not result in any functional change.
Juergen Gross (10):
KVM: Switch coalesced_mmio_in_range() to return bool
KVM/x86: Use bool for the err parameter of kvm_complete_insn_gp()
KVM/x86: Let x86_emulate_ops.set_cr() return a bool
KVM/x86: Let x86_emulate_ops.set_dr() return a bool
KVM/x86: Add KVM_MSR_RET_* defines for values 0 and 1
KVM/x86: Use defines for APIC related MSR emulation
KVM/x86: Use defines for Hyper-V related MSR emulation
KVM/x86: Use defines for VMX related MSR emulation
KVM/x86: Use defines for SVM related MSR emulation
KVM/x86: Use defines for common related MSR emulation
arch/x86/include/asm/kvm_host.h | 14 +-
arch/x86/kvm/emulate.c | 2 +-
arch/x86/kvm/hyperv.c | 110 +++++++-------
arch/x86/kvm/kvm_emulate.h | 4 +-
arch/x86/kvm/lapic.c | 48 +++----
arch/x86/kvm/mtrr.c | 12 +-
arch/x86/kvm/pmu.c | 12 +-
arch/x86/kvm/smm.c | 2 +-
arch/x86/kvm/svm/pmu.c | 12 +-
arch/x86/kvm/svm/svm.c | 54 +++----
arch/x86/kvm/vmx/main.c | 2 +-
arch/x86/kvm/vmx/nested.c | 18 +--
arch/x86/kvm/vmx/pmu_intel.c | 20 +--
arch/x86/kvm/vmx/tdx.c | 18 +--
arch/x86/kvm/vmx/tdx.h | 2 +-
arch/x86/kvm/vmx/vmx.c | 122 ++++++++--------
arch/x86/kvm/x86.c | 246 ++++++++++++++++----------------
arch/x86/kvm/x86.h | 10 +-
arch/x86/kvm/xen.c | 14 +-
virt/kvm/coalesced_mmio.c | 14 +-
20 files changed, 372 insertions(+), 364 deletions(-)
--
2.51.0
Powered by blists - more mailing lists