From: "Lorenzo Stoakes (ARM)" <ljs@kernel.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Steffen Eiden <seiden@linux.ibm.com>,
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>,
Catalin Marinas <catalin.marinas@arm.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Claudio Imbrenda <imbrenda@linux.ibm.com>,
"David Hildenbrand (Red Hat)" <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>,
Sean Christopherson <seanjc@google.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 v9 23/24] KVM: s390: arm64: Implement basic page fault handler
Date: Thu, 1 Oct 2026 15:39:41 +0100 [thread overview]
Message-ID: <ar5wJRdtp6dogT6u@gremlin> (raw)
In-Reply-To: <e2742ccb-6b91-463c-a148-30b7e2f41e9a@app.fastmail.com>
On Thu, Oct 01, 2026 at 02:10:06PM +0200, Arnd Bergmann wrote:
> Hi Steffen,
>
> [Adding Lorenzo Stoakes to Cc]
>
> I see this function fails to build on top of linux-next, as the
> kvm_vcpu_dabt_is_cm() function was removed by commit 18b94675b1fb
> ("KVM: arm64: Use ESR helpers in guest abort handling").
>
> I used this patch to make it build, but I'm not sure if this is
> the correct fix:
>
> diff --git a/arch/s390/kvm/arm64/mmu.c b/arch/s390/kvm/arm64/mmu.c
> index 3c1c8a2def73..7ee157c61d70 100644
> --- a/arch/s390/kvm/arm64/mmu.c
> +++ b/arch/s390/kvm/arm64/mmu.c
> @@ -119,6 +119,7 @@ int kvm_handle_guest_abort(struct kvm_vcpu *vcpu)
> hva = gfn_to_hva_memslot_prot(memslot, gfn, &writable);
> write_fault = kvm_s390_cur_gmap_fault_is_write(vcpu);
> if (kvm_is_error_hva(hva) || (write_fault && !writable)) {
> + unsigned long esr = kvm_vcpu_get_esr(vcpu);
> ret = -ENOEXEC;
> /*
> * The guest has put either its instructions or its page-tables
> @@ -143,7 +144,7 @@ int kvm_handle_guest_abort(struct kvm_vcpu *vcpu)
> * Check for a cache maintenance operation. Assume the guest is
> * cautious and skip instruction
> */
> - if (kvm_is_error_hva(hva) && kvm_vcpu_dabt_is_cm(vcpu)) {
> + if (kvm_is_error_hva(hva) && esr_dabt_is_cm(esr)) {
> kvm_incr_pc(vcpu);
> ret = 1;
> goto out_unlock;
Thanks for the report!
The original function was:
static inline bool kvm_vcpu_dabt_is_cm(const struct kvm_vcpu *vcpu)
{
return !!(kvm_vcpu_get_esr(vcpu) & ESR_ELx_CM);
}
And esr_dabt_is_cm() is:
static __always_inline bool esr_dabt_is_cm(unsigned long esr)
{
return esr & ESR_ELx_CM;
}
So looks good to me at a glance!
--
Cheers, Lorenzo
next prev parent reply other threads:[~2026-10-01 14:39 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-30 17:34 [PATCH v9 00/24] KVM: s390: Introduce arm64 KVM Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 01/24] KVM: Make device name configurable Steffen Eiden
2026-10-06 15:19 ` Hendrik Brueckner
2026-09-30 17:34 ` [PATCH v9 02/24] KVM: Move architecture capability Kconfigs to header defines Steffen Eiden
2026-10-06 16:01 ` Hendrik Brueckner
2026-09-30 17:34 ` [PATCH v9 03/24] KVM: Replace CONFIG_KVM_MMIO with KVM_NO_MMIO Steffen Eiden
2026-10-06 16:18 ` Hendrik Brueckner
2026-09-30 17:34 ` [PATCH v9 04/24] arm64: Use proper include variant Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 05/24] arm64: ptrace: Use constants for compat register numbers Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 06/24] arm64: sysreg: Convert SPSR_ELx to automatic register generation Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 07/24] KVM: arm64: Access elements of vcpu_gp_regs individually Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 08/24] KVM: arm64: Use accessor functions for core regs Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 09/24] arm64: Prepare sharing arm64 headers with s390 Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 10/24] arm64: Share " Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 11/24] KVM: arm64: Share arm64 code " Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 12/24] s390/Kconfig: remove PCI dependency from HAS_IOMEM Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 13/24] KVM: s390: Use dedicated function for migration mode Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 14/24] s390/tools: Use arm64 headers Steffen Eiden
2026-10-01 10:25 ` Hendrik Brueckner
2026-09-30 17:34 ` [PATCH v9 15/24] KVM: s390: Use arm64 code Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 16/24] s390: Introduce Start Arm Execution instruction Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 17/24] KVM: s390: arm64: Introduce host definitions Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 18/24] s390/hwcaps: Report SAE support as hwcap Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 19/24] KVM: s390: Add basic arm64 kvm module Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 20/24] KVM: s390: arm64: Implement required functions Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 21/24] KVM: s390: arm64: Implement vm/vcpu create destroy Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 22/24] KVM: s390: arm64: Implement vCPU IOCTLs Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 23/24] KVM: s390: arm64: Implement basic page fault handler Steffen Eiden
2026-10-01 12:10 ` Arnd Bergmann
2026-10-01 13:35 ` Arnd Bergmann
2026-10-01 14:36 ` Lorenzo Stoakes (ARM)
2026-10-01 15:30 ` Steffen Eiden
2026-10-02 10:18 ` Lorenzo Stoakes (ARM)
2026-10-01 14:03 ` Steffen Eiden
2026-10-01 14:39 ` Lorenzo Stoakes (ARM) [this message]
2026-09-30 17:34 ` [PATCH v9 24/24] KVM: s390: arm64: Integrate arm on s390 Steffen Eiden
2026-10-01 11:04 ` (subset) [PATCH v9 00/24] KVM: s390: Introduce arm64 KVM Marc Zyngier
2026-10-01 13:27 ` Steffen Eiden
2026-10-01 13:39 ` Arnd Bergmann
2026-10-02 8:46 ` Arnd Bergmann
2026-10-01 15:12 ` Marc Zyngier
2026-10-02 8:00 ` Steffen Eiden
2026-10-02 9:02 ` Marc Zyngier
2026-10-02 9:17 ` 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=ar5wJRdtp6dogT6u@gremlin \
--to=ljs@kernel.org \
--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=seiden@linux.ibm.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.