All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steffen Eiden <seiden@linux.ibm.com>
To: Sean Christopherson <seanjc@google.com>
Cc: kvm@vger.kernel.org, kvmarm@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Grapentin <gra@linux.ibm.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Claudio Imbrenda <imbrenda@linux.ibm.com>,
	David Hildenbrand <david@kernel.org>,
	Friedrich Welter <fritz@linux.ibm.com>,
	Fuad Tabba <tabba@google.com>, Gautam Gala <ggala@linux.ibm.com>,
	Hariharan Mari <hari55@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Hendrik Brueckner <brueckner@linux.ibm.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Janosch Frank <frankja@linux.ibm.com>,
	Joey Gouly <joey.gouly@arm.com>, Marc Zyngier <maz@kernel.org>,
	Nico Boehr <nrb@linux.ibm.com>,
	Nina Schoetterl-Glausch <oss@nina.schoetterlglausch.eu>,
	Oliver Upton <oupton@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Ulrich Weigand <Ulrich.Weigand@de.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>, Will Deacon <will@kernel.org>,
	Zenghui Yu <yuzenghui@huawei.com>
Subject: Re: [PATCH v7 23/23] KVM: s390: arm64: Add KVM_S390_ARM64 Kconfig and Makefile
Date: Thu, 3 Sep 2026 10:38:57 +0200	[thread overview]
Message-ID: <20260903083857.33034-B-seiden@linux.ibm.com> (raw)
In-Reply-To: <aphMx5hsoXwIpNjt@google.com>

On Wed, Sep 02, 2026 at 09:20:23AM -0700, Sean Christopherson wrote:
> On Mon, Aug 31, 2026, Steffen Eiden wrote:
> > diff --git a/arch/s390/kvm/Kconfig b/arch/s390/kvm/Kconfig
> > index 8d3ee17a1bcb..9c69ea16031e 100644
> > --- a/arch/s390/kvm/Kconfig
> > +++ b/arch/s390/kvm/Kconfig
> > @@ -53,4 +53,33 @@ config KVM_S390_UCONTROL
> >  
> >  	  If unsure, say N.
> >  
> > +config KVM_S390_ARM64
> > +	def_tristate y
> > +	prompt "KVM support for hardware accelerated arm64 guests"
> > +	depends on HAS_IOMEM
> > +	depends on KVM
> 
> Is this actually necessary?  I.e. does kvm.ko need to be *loaded* in order for
> kvm-arm64.ko to be loaded?
> 
> If kvm-arm64.ko does indeed have a hard dependency on kvm.ko, then I think it
> makes sense to not have redundant "select" statements below.  As an outsider,
> it's super confusing because the KVM_S390_ARM64 are incomplete, e.g. are lacking
> things like VIRT_XFER_TO_GUEST_WORK (at least, I assume those are lacking), and
> makes it hard to see what is actually unique to kvm-arm64.ko.
> 
> If kvm-arm64.ko doesn't have a dependency on kvm.ko, e.g. to initialize hardware
> or something, then this "depends on" should go away.


It is a bit more complicated unfortunately. KVM_S390_ARM64 depends on
KVM as there is code around in the kernel & drivers (arch and common)
which depends on CONFIG_KVM we need as well. I did not want to leak arch
local configs to common code if I can avoid that.
I could change it to select KVM ? Do you have another idea on how to
solve this issue?

The two modules are completely independent at compile and runtime. So
kvm does not have to be loaded for kvm-arm64 to work.

VIRT_XFER_TO_GUEST_WORK is only lacking for now. I will add it later.
Currently the kvm-arm64 module is incomplete anyways but I did not want
to send a 60+patches series and rather stage the introduction over
multiple series.

I will remove the duplicated config selections. Thanks for pointing it
out. In previous series I had an explicit KVM_S390 config. Both KVM_S390
and KVM_ARM64 selected KVM. But this created too much churn around the
whole tech-stack (default config change, s390 is the odd one out for the
KVM config meaning, ...).

	Steffen

  reply	other threads:[~2026-09-03  8:39 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-31 14:47 [PATCH v7 00/23] KVM: s390: Introduce arm64 KVM Steffen Eiden
2026-08-31 14:47 ` [PATCH v7 01/23] vfio: Use file-based reference counting for KVM Steffen Eiden
2026-08-31 18:16   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 02/23] KVM: Make device name configurable Steffen Eiden
2026-08-31 18:25   ` sashiko-bot
2026-09-02  0:40   ` Sean Christopherson
2026-09-02  7:50     ` Steffen Eiden
2026-09-02 16:14       ` Sean Christopherson
2026-09-03 11:42         ` Steffen Eiden
2026-09-03 14:30           ` Sean Christopherson
2026-09-03 14:32             ` Sean Christopherson
2026-09-03 14:45               ` Sean Christopherson
2026-09-03 14:55                 ` Paolo Bonzini
2026-09-03 15:54                   ` Sean Christopherson
2026-09-03 19:13                     ` Paolo Bonzini
2026-09-03 20:58                       ` Sean Christopherson
2026-09-15 15:12                         ` Steffen Eiden
2026-09-03 15:48           ` Sean Christopherson
2026-08-31 14:47 ` [PATCH v7 03/23] KVM: Allow KVM implementations to switch off MMIO independent of Kconfig Steffen Eiden
2026-08-31 18:31   ` sashiko-bot
2026-09-02  0:38   ` Sean Christopherson
2026-09-02  8:22     ` Steffen Eiden
2026-09-02  8:30     ` Marc Zyngier
2026-09-02  9:13       ` Steffen Eiden
2026-09-02 13:00         ` Sean Christopherson
2026-09-02 15:50           ` Sean Christopherson
2026-08-31 14:47 ` [PATCH v7 04/23] arm64: Use proper include variant Steffen Eiden
2026-08-31 18:31   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 05/23] arm64: ptrace: Use constants for compat register numbers Steffen Eiden
2026-08-31 18:34   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 06/23] arm64: sysreg: Convert SPSR_ELx to automatic register generation Steffen Eiden
2026-08-31 18:38   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 07/23] KVM: arm64: Access elements of vcpu_gp_regs individually Steffen Eiden
2026-08-31 18:42   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 08/23] KVM: arm64: Use accessor functions for core regs Steffen Eiden
2026-08-31 18:45   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 09/23] arm64: Prepare sharing arm64 headers with s390 Steffen Eiden
2026-08-31 18:50   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 10/23] arm64: Share " Steffen Eiden
2026-08-31 19:03   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 11/23] KVM: arm64: Share arm64 code " Steffen Eiden
2026-08-31 19:14   ` sashiko-bot
2026-09-01  8:13   ` Marc Zyngier
2026-09-01  8:40     ` Steffen Eiden
2026-09-02  7:41       ` Marc Zyngier
2026-09-02 12:41         ` Steffen Eiden
2026-09-12 11:43           ` Marc Zyngier
2026-09-15 15:17             ` Steffen Eiden
2026-08-31 14:47 ` [PATCH v7 12/23] s390/tools: Use arm64 headers Steffen Eiden
2026-08-31 19:18   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 13/23] KVM: s390: Use arm64 code Steffen Eiden
2026-08-31 19:26   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 14/23] KVM: s390: Prepare KVM/s390 for a second KVM module Steffen Eiden
2026-08-31 19:47   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 15/23] s390: Introduce Start Arm Execution instruction Steffen Eiden
2026-08-31 20:00   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 16/23] KVM: s390: arm64: Introduce host definitions Steffen Eiden
2026-08-31 20:16   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 17/23] s390/hwcaps: Report SAE support as hwcap Steffen Eiden
2026-08-31 20:20   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 18/23] KVM: s390: Add basic arm64 kvm module Steffen Eiden
2026-08-31 20:56   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 19/23] KVM: s390: arm64: Implement required functions Steffen Eiden
2026-08-31 21:13   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 20/23] KVM: s390: arm64: Implement vm/vcpu create destroy Steffen Eiden
2026-08-31 21:30   ` sashiko-bot
2026-08-31 14:47 ` [PATCH v7 21/23] KVM: s390: arm64: Implement vCPU IOCTLs Steffen Eiden
2026-08-31 21:47   ` sashiko-bot
2026-09-03 13:27   ` Janosch Frank
2026-09-16 15:00     ` Steffen Eiden
2026-08-31 14:47 ` [PATCH v7 22/23] KVM: s390: arm64: Implement basic page fault handler Steffen Eiden
2026-08-31 22:00   ` sashiko-bot
2026-08-31 14:48 ` [PATCH v7 23/23] KVM: s390: arm64: Add KVM_S390_ARM64 Kconfig and Makefile Steffen Eiden
2026-08-31 22:19   ` sashiko-bot
2026-09-02 16:20   ` Sean Christopherson
2026-09-03  8:38     ` Steffen Eiden [this message]
2026-09-03 14:43       ` Sean Christopherson
2026-09-03 15:43         ` Steffen Eiden
2026-09-03 16:33           ` Sean Christopherson
2026-09-03 16:41             ` Paolo Bonzini
2026-09-17 11:07             ` Christian Borntraeger
2026-09-17 11:41               ` Steffen Eiden

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=20260903083857.33034-B-seiden@linux.ibm.com \
    --to=seiden@linux.ibm.com \
    --cc=Ulrich.Weigand@de.ibm.com \
    --cc=agordeev@linux.ibm.com \
    --cc=arnd@arndb.de \
    --cc=borntraeger@linux.ibm.com \
    --cc=brueckner@linux.ibm.com \
    --cc=catalin.marinas@arm.com \
    --cc=david@kernel.org \
    --cc=frankja@linux.ibm.com \
    --cc=fritz@linux.ibm.com \
    --cc=ggala@linux.ibm.com \
    --cc=gor@linux.ibm.com \
    --cc=gra@linux.ibm.com \
    --cc=hari55@linux.ibm.com \
    --cc=hca@linux.ibm.com \
    --cc=iii@linux.ibm.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=joey.gouly@arm.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=nrb@linux.ibm.com \
    --cc=oss@nina.schoetterlglausch.eu \
    --cc=oupton@kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=seanjc@google.com \
    --cc=suzuki.poulose@arm.com \
    --cc=svens@linux.ibm.com \
    --cc=tabba@google.com \
    --cc=will@kernel.org \
    --cc=yuzenghui@huawei.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.