From: Steffen Eiden <seiden@linux.ibm.com>
To: kvm@vger.kernel.org, kvmarm@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org
Cc: 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>,
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: [PATCH v9 12/24] s390/Kconfig: remove PCI dependency from HAS_IOMEM
Date: Wed, 30 Sep 2026 19:34:27 +0200 [thread overview]
Message-ID: <20260930173441.66762-13-seiden@linux.ibm.com> (raw)
In-Reply-To: <20260930173441.66762-1-seiden@linux.ibm.com>
HAS_IOMEM was defined as def_bool PCI on s390, making it false on kernels
built without PCI support. This made sense until now as the IOMEM code
was only required if PCI was enabled. This will change as KVM will
require IOMEM in the future. To simplify the config space, turn
HAS_IOMEM on unconditionally by default.
All other architectures either do not override HAS_IOMEM or set it
unconditionally. s390 was the only architecture where HAS_IOMEM could be
false on a real system.
Since HAS_IOMEM=y now causes kernel/iomem.o and lib/devres.o to be built
unconditionally, ioremap()/iounmap() must always be available.
Select GENERIC_IOREMAP unconditionally to provide the generic
implementations for the PCI=n case.
Previously GENERIC_IOREMAP was conditioned on CONFIG_PCI in lockstep
with HAS_IOMEM, so mm/ioremap.c was never built without PCI. Therefore,
guard the PCI override macros ioremap_prot, iounmap, and ioremap_wc with
CONFIG_PCI.
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Steffen Eiden <seiden@linux.ibm.com>
---
arch/s390/Kconfig | 5 +----
arch/s390/include/asm/io.h | 12 ++++++------
2 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 4b51bc6e8948..5a01fbd8e32b 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -181,7 +181,7 @@ config S390
select GENERIC_ENTRY
select GENERIC_GETTIMEOFDAY
select GENERIC_SMP_IDLE_THREAD
- select GENERIC_IOREMAP if PCI
+ select GENERIC_IOREMAP
select GLOB
select HAVE_ALIGNED_STRUCT_PAGE
select HAVE_ARCH_AUDITSYSCALL
@@ -768,9 +768,6 @@ config PCI_NR_FUNCTIONS
endif # PCI
-config HAS_IOMEM
- def_bool PCI
-
config CHSC_SCH
def_tristate m
prompt "Support for CHSC subchannels"
diff --git a/arch/s390/include/asm/io.h b/arch/s390/include/asm/io.h
index faddb9aef3b8..ef0490edeccd 100644
--- a/arch/s390/include/asm/io.h
+++ b/arch/s390/include/asm/io.h
@@ -27,14 +27,8 @@ void unxlate_dev_mem_ptr(phys_addr_t phys, void *addr);
/*
* I/O memory mapping functions.
*/
-#define ioremap_prot ioremap_prot
-#define iounmap iounmap
-
#define _PAGE_IOREMAP pgprot_val(PAGE_KERNEL)
-#define ioremap_wc(addr, size) \
- ioremap_prot((addr), (size), pgprot_writecombine(PAGE_KERNEL))
-
static inline void __iomem *ioport_map(unsigned long port, unsigned int nr)
{
return NULL;
@@ -46,6 +40,12 @@ static inline void ioport_unmap(void __iomem *p)
#ifdef CONFIG_PCI
+#define ioremap_prot ioremap_prot
+#define iounmap iounmap
+
+#define ioremap_wc(addr, size) \
+ ioremap_prot((addr), (size), pgprot_writecombine(PAGE_KERNEL))
+
/*
* s390 needs a private implementation of pci_iomap since ioremap with its
* offset parameter isn't sufficient. That's because BAR spaces are not
--
2.53.0
next prev parent reply other threads:[~2026-09-30 17:35 UTC|newest]
Thread overview: 27+ 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-09-30 17:34 ` [PATCH v9 02/24] KVM: Move architecture capability Kconfigs to header defines Steffen Eiden
2026-09-30 17:34 ` [PATCH v9 03/24] KVM: Replace CONFIG_KVM_MMIO with KVM_NO_MMIO Steffen Eiden
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 ` Steffen Eiden [this message]
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-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
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=20260930173441.66762-13-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®