From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7D6714E6DF6; Thu, 8 Jan 2026 14:14:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767881651; cv=none; b=HnaHhri1fvSpQOTTY0GxHC6BweoGnc9yNW7kxGDkmZACTjeVwEscsvVyWlhJWJDqwEceaauaS1W6sbfb3bCJhA+LKAuVpw2OGehum4Xs58U2WLZvQvEOxKePIU37smVPs7QlfpgfagWI9ADauMWPVl659sI1qKLr0PVrHrbhR1c= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767881651; c=relaxed/simple; bh=PclDSMkxQTnfjWJ1QJChIBnve9ojYFh9rJwlsRzU3g0=; h=Date:Message-ID:From:To:Cc:Subject:In-Reply-To:References: MIME-Version:Content-Type; b=D24JSsj0Vu1Pn3EwqRJHpLUDDvW4Bxlx1a9EQGu3KDUJ/xutMuuQ6ITsFHjl68XfjuxBoFRZ7E0OtunFOr6ahwFbTJlaAauz37EisSqQNYqZNwtpQ8i35IWomLMMQ/iPQEjtn4S1GFKitK1L78EaKmbjug2VtWUPFykA4weqk5g= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KkjFvcQ6; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="KkjFvcQ6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 04B25C19422; Thu, 8 Jan 2026 14:14:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1767881651; bh=PclDSMkxQTnfjWJ1QJChIBnve9ojYFh9rJwlsRzU3g0=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=KkjFvcQ6BqxLJ+uLScB6z4Kil0b0v50RHuWDZACioD+s7xd3vngRo+zgT0b7LIHq5 Glx1BqKsiWfr9woZRag7Q51VeJ+5GVkBwlUspr+3o2SHdGB7RRvXjj5VAKNaKxOOYU Vs2N8e2j5TDG9MU7BVKhFHK2pcT8mldsEJxZe+N+CLhFLQflvSjDHp+6oY17c5Ra6p yJU4Fkyxb7QkcXlhgLNNsZp9oDPoXKmnOd8TnThYPjKhCbTvc1Y8m39c8RvxMGdlAA MVZHVtXSEQ3qp1Yue/GhjREToLDmpvuaJOadJzh3lNdkV+XZuFxUEviUXvXm3VmlQo AsK03Q8B9/i6g== Received: from sofa.misterjones.org ([185.219.108.64] helo=goblin-girl.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vdqm8-00000000Qvv-31WT; Thu, 08 Jan 2026 14:14:08 +0000 Date: Thu, 08 Jan 2026 14:14:08 +0000 Message-ID: <86344gmbtb.wl-maz@kernel.org> From: Marc Zyngier To: Suzuki K Poulose Cc: kvmarm@lists.linux.dev, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, will@kernel.org, oliver.upton@linux.dev, alexandru.elisei@arm.com, aneesh.kumar@kernel.org, steven.price@arm.com, tabba@google.com Subject: Re: [PATCH kvmtool v4 15/15] arm64: smccc: Start sending PSCI to userspace In-Reply-To: <20250930103130.197534-17-suzuki.poulose@arm.com> References: <20250930103130.197534-1-suzuki.poulose@arm.com> <20250930103130.197534-17-suzuki.poulose@arm.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/30.1 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: suzuki.poulose@arm.com, kvmarm@lists.linux.dev, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, will@kernel.org, oliver.upton@linux.dev, alexandru.elisei@arm.com, aneesh.kumar@kernel.org, steven.price@arm.com, tabba@google.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false On Tue, 30 Sep 2025 11:31:30 +0100, Suzuki K Poulose wrote: > > From: Oliver Upton > > kvmtool now has a PSCI implementation that complies with v1.0 of the > specification. Use the SMCCC filter to start sending these calls out to > userspace for further handling. While at it, shut the door on the > legacy, KVM-specific v0.1 functions. > > Signed-off-by: Oliver Upton > Signed-off-by: Suzuki K Poulose > --- > arm64/include/kvm/kvm-config-arch.h | 8 +++++-- > arm64/smccc.c | 37 +++++++++++++++++++++++++++++ > 2 files changed, 43 insertions(+), 2 deletions(-) > > diff --git a/arm64/include/kvm/kvm-config-arch.h b/arm64/include/kvm/kvm-config-arch.h > index ee031f01..3158fadf 100644 > --- a/arm64/include/kvm/kvm-config-arch.h > +++ b/arm64/include/kvm/kvm-config-arch.h > @@ -15,6 +15,7 @@ struct kvm_config_arch { > u64 fw_addr; > unsigned int sve_max_vq; > bool no_pvtime; > + bool in_kernel_smccc; > }; > > int irqchip_parser(const struct option *opt, const char *arg, int unset); > @@ -52,11 +53,14 @@ int sve_vl_parser(const struct option *opt, const char *arg, int unset); > "Force virtio devices to use PCI as their default " \ > "transport (Deprecated: Use --virtio-transport " \ > "option instead)", virtio_transport_parser, kvm), \ > - OPT_CALLBACK('\0', "irqchip", &(cfg)->irqchip, \ > + OPT_CALLBACK('\0', "irqchip", &(cfg)->irqchip, \ > "[gicv2|gicv2m|gicv3|gicv3-its]", \ > "Type of interrupt controller to emulate in the guest", \ > irqchip_parser, NULL), \ > OPT_U64('\0', "firmware-address", &(cfg)->fw_addr, \ > - "Address where firmware should be loaded"), > + "Address where firmware should be loaded"), \ > + OPT_BOOLEAN('\0', "in-kernel-smccc", &(cfg)->in_kernel_smccc, \ > + "Disable userspace handling of SMCCC, instead" \ > + " relying on the in-kernel implementation"), > nit: this really is about PSCI, not SMCCC. The fact that we use the SMCCC interface to route PSCI calls is an implementation detail, really. The other thing is that this is a change in default behaviour, and I'd rather keep in-kernel PSCI to be the default, specially given that this otherwise silently fails on old kernels. To that effect, I'd suggest the following instead: + OPT_BOOLEAN('\0', "psci", &(cfg)->userspace_psci, \ + "Request userspace handling of PSCI, instead" \ + " relying on the in-kernel implementation"), and the code modified accordingly. Thanks, M. -- Without deviation from the norm, progress is not possible.