From: Sean Christopherson <seanjc@google.com>
To: Yosry Ahmed <yosry@kernel.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
Vitaly Kuznetsov <vkuznets@redhat.com>,
David Woodhouse <dwmw2@infradead.org>,
Paul Durrant <paul@xen.org>,
kvm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 06/11] KVM: x86: Move kvm_<reg>_{read,write}() definitions to x86.h
Date: Tue, 21 Apr 2026 17:40:00 -0700 [thread overview]
Message-ID: <aegY4FF2n2t5B4pz@google.com> (raw)
In-Reply-To: <aegIHrL1pqnRkhDh@google.com>
On Tue, Apr 21, 2026, Yosry Ahmed wrote:
> On Thu, Apr 09, 2026 at 04:56:17PM -0700, Sean Christopherson wrote:
> > Move the direct GPR accessors to x86.h so that they can use
> > is_64_bit_mode().
> >
> > No functional change intended.
> >
> > Signed-off-by: Sean Christopherson <seanjc@google.com>
> > ---
> > arch/x86/kvm/kvm_cache_regs.h | 34 ----------------------------------
> > arch/x86/kvm/x86.h | 34 ++++++++++++++++++++++++++++++++++
>
> That's a shame, register accessors semantically fit in kvm_cache_regs.h,
Sort of. I actually had the opposite reaction. KVM very specifically doesn't
do available/dirty tracking for GPRs, in large part because it's not a caching
behavior per se: vcpu->arch.regs[] is _the_ source of truth for GPRs (modulo
RSP on Intel).
> but taking a step back.. is it even worth having kvm_cache_regs.h
> anymore?
>
> At some point I needed to move guest mode helpers out of there too (as
> they should be):
>
> https://lore.kernel.org/kvm/20260326031150.3774017-3-yosry@kernel.org/
>
> With this patch and that one, we'd have <200 lines left. Is there a
> reason why it can't just be merged with x86.h? I don't see any of the
> headers included by x86.h including kvm_cache_regs.h.
What if we go in the opposite direction? I didn't try moving e.g. is_64_bit_mode()
into kvm_cache_regs.h because that reaaaaaly stretches the meaning of "cache regs".
But if we rename kvm_cache_regs.h to something like kvm_regs.h, then I think we
can move more of the simpler accessors (and mutators?) into kvm_regs.h. The
motivation would be to keep x86.h from becoming a chonker. One of the regrets
with x86.c is that it became a dumping ground for everything that didn't have an
obvious home, and now it's sitting at nearly 15k LoC.
Naming is hard, but if we can come up with a kvm_blah.{h,c} pair, maybe we can
kill two birds with one stone? Or at least kill one, and injure the other :-)
next prev parent reply other threads:[~2026-04-22 0:40 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-09 23:56 [PATCH 00/11] KVM: x86: Clean up kvm_<reg>_{read,write}() mess Sean Christopherson
2026-04-09 23:56 ` [PATCH 01/11] KVM: SVM: Truncate INVLPGA address in compatibility mode Sean Christopherson
2026-04-21 23:26 ` Yosry Ahmed
2026-04-09 23:56 ` [PATCH 02/11] KVM: x86/xen: Bug the VM if 32-bit KVM observes a 64-bit mode hypercall Sean Christopherson
2026-04-09 23:56 ` [PATCH 03/11] KVM: x86/xen: Don't truncate RAX when handling hypercall from protected guest Sean Christopherson
2026-04-13 10:36 ` Binbin Wu
2026-04-15 21:29 ` Sean Christopherson
2026-04-09 23:56 ` [PATCH 04/11] KVM: VMX: Read 32-bit GPR values for ENCLS instructions outside of 64-bit mode Sean Christopherson
2026-04-13 12:19 ` Huang, Kai
2026-04-15 21:37 ` Sean Christopherson
2026-04-15 23:32 ` Huang, Kai
2026-04-16 0:27 ` Sean Christopherson
2026-04-16 1:40 ` Huang, Kai
2026-04-09 23:56 ` [PATCH 05/11] KVM: x86: Trace hypercall register *after* truncating values for 32-bit Sean Christopherson
2026-04-21 23:27 ` Yosry Ahmed
2026-04-09 23:56 ` [PATCH 06/11] KVM: x86: Move kvm_<reg>_{read,write}() definitions to x86.h Sean Christopherson
2026-04-21 23:32 ` Yosry Ahmed
2026-04-22 0:40 ` Sean Christopherson [this message]
2026-04-09 23:56 ` [PATCH 07/11] KVM: x86: Add mode-aware versions of kvm_<reg>_{read,write}() helpers Sean Christopherson
2026-04-14 8:26 ` Huang, Kai
2026-04-14 15:42 ` Sean Christopherson
2026-04-14 22:40 ` Huang, Kai
2026-04-14 9:02 ` Binbin Wu
2026-04-09 23:56 ` [PATCH 08/11] KVM: x86: Drop non-raw kvm_<reg>_write() helpers Sean Christopherson
2026-04-09 23:56 ` [PATCH 09/11] KVM: nSVM: Use kvm_rax_read() now that it's mode-aware Sean Christopherson
2026-04-21 23:19 ` Yosry Ahmed
2026-04-09 23:56 ` [PATCH 10/11] Revert "KVM: VMX: Read 32-bit GPR values for ENCLS instructions outside of 64-bit mode" Sean Christopherson
2026-04-16 1:42 ` Huang, Kai
2026-04-09 23:56 ` [PATCH 11/11] KVM: x86: Harden is_64_bit_hypercall() against bugs on 32-bit kernels Sean Christopherson
2026-04-16 1:43 ` Huang, Kai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aegY4FF2n2t5B4pz@google.com \
--to=seanjc@google.com \
--cc=dwmw2@infradead.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=paul@xen.org \
--cc=pbonzini@redhat.com \
--cc=vkuznets@redhat.com \
--cc=yosry@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox