linux/drivers/s390/cio
Linus Torvalds 66ec24c5d7 s390 updates for 7.3 merge window
- Add a cpuidle driver with polling and enabled wait states using the
   existing CPU idle infrastructure and idle governor to improve latency
   for frequent sleep/wakeup cycles. Remove the obsolete tick delay
   heuristic and generic arch_needs_cpu() hook. Add the corresponding
   driver entry to MAINTAINERS
 
 - Add kCFI support using the generic support provided by Clang
 
 - Enable Clang CONTEXT_ANALYSIS for various architecture code and for
   char, PCI, CIO and virtio drivers. Add required lock annotations,
   exclude unsupported mm helpers and remove conditional PCI locking
 
 - Fix secure storage access exception handling and reintroduce
   DCACHE_WORD_ACCESS previously removed as a workaround
 
 - Fix cpum_cf perf crashes when CPUs are brought online while per-task
   events are active. Allocate and remove per-CPU counter data from CPU
   hotplug callbacks
 
 - Fix a deadlock when an s390dbf debug area is unregistered while one
   of its debugfs files is being written to
 
 - Fix MVIY_PERCPU() with binutils older than 2.39, where an assembler
   macro silently omitted an instruction needed to repair interrupted
   operations after CPU migration
 
 - Remove/replace cond_resched() calls which are no-ops with the supported
   s390 preemption models
 
 - Fix AP queue depth and maximum message length decoding according to
   the architecture. Current hardware is not affected, but future hardware
   could report values which were handled incorrectly
 
 - Reflect the configured CPU state in cpu_enabled_mask so deconfigured
   CPUs are not presented as available for onlining
 
 - Restore the vDSO GNU_EH_FRAME program header which was lost when the
   build switched to direct linker invocation, and mark it read-only
 
 - Add SCLP action qualifiers used by Spyre for card initialization,
   recoverable error and telemetry reporting
 
 - Move KMSAN interrupt flag helpers out of line to fix
   -Wstatic-in-inline build warnings
 
 - Use level-specific page table entry accessors for hugetlb entries and
   ptep_get() when accessing crashed kernel memory in kdump
 
 - Make forced AP bus rescans killable so that a user process blocked
   behind an ongoing scan can still be terminated with SIGKILL
 
 - Rework pkey ioctl error paths to remove duplicated cleanup code and
   avoid freeing error pointers
 
 - Allow the protected guest SWIOTLB buffer to be allocated outside the
   first 2GB. Also enable dynamic SWIOTLB growth and the coherent atomic
   pool fallback to improve I/O behavior when the initial pool is exhausted
 
 - Add program check statistics and spinlock contention tracepoints.
   Increase the lockdep chain capacity to keep lockdep enabled for complex
   code paths such as btrfs
 
 - Simplify IPL, trap and syscall code and remove the obsolete unistd_32.h
   generation entry
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEE3QHqV+H2a8xAv27vjYWKoQLXFBgFAmqLHuoACgkQjYWKoQLX
 FBhf2Qf+JlV+jQM1Lvn/Dj16vuQ77a4aP5C/OnLGMaTrrzbX420qU04yvC96v2Xu
 ux01aDU9VakonE74IT0NmrNo1VDUk8nSvIWUTB6GH7KvK76VEZN5Kkyn8TmeRmE0
 bZ0Fg7MgnhwdYijFDiX9w4rLyirwxs7vkScdJdJd0iKEdoZHXojGSjPDvmSpXght
 FgCszt+YOqu9MMf9B5oGAl+P40mgPTlm6M+ygoe2dX7qPQBUHLbDPTgZiWnKdXi2
 LPx0QPEha921ePDWrWz2HEqNetMfwGl12iertXddf1uzuK6LLObi0M5QrGw/ZbOy
 UJFM+AjFekTQyZPSunD4NWyCjglqrA==
 =XF7Y
 -----END PGP SIGNATURE-----

Merge tag 's390-7.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 updates from Vasily Gorbik:

 - Add a cpuidle driver with polling and enabled wait states using the
   existing CPU idle infrastructure and idle governor to improve latency
   for frequent sleep/wakeup cycles. Remove the obsolete tick delay
   heuristic and generic arch_needs_cpu() hook. Add the corresponding
   driver entry to MAINTAINERS

 - Add kCFI support using the generic support provided by Clang

 - Enable Clang CONTEXT_ANALYSIS for various architecture code and for
   char, PCI, CIO and virtio drivers. Add required lock annotations,
   exclude unsupported mm helpers and remove conditional PCI locking

 - Fix secure storage access exception handling and reintroduce
   DCACHE_WORD_ACCESS previously removed as a workaround

 - Fix cpum_cf perf crashes when CPUs are brought online while per-task
   events are active. Allocate and remove per-CPU counter data from CPU
   hotplug callbacks

 - Fix a deadlock when an s390dbf debug area is unregistered while one
   of its debugfs files is being written to

 - Fix MVIY_PERCPU() with binutils older than 2.39, where an assembler
   macro silently omitted an instruction needed to repair interrupted
   operations after CPU migration

 - Remove/replace cond_resched() calls which are no-ops with the
   supported s390 preemption models

 - Fix AP queue depth and maximum message length decoding according to
   the architecture. Current hardware is not affected, but future
   hardware could report values which were handled incorrectly

 - Reflect the configured CPU state in cpu_enabled_mask so deconfigured
   CPUs are not presented as available for onlining

 - Restore the vDSO GNU_EH_FRAME program header which was lost when the
   build switched to direct linker invocation, and mark it read-only

 - Add SCLP action qualifiers used by Spyre for card initialization,
   recoverable error and telemetry reporting

 - Move KMSAN interrupt flag helpers out of line to fix
   -Wstatic-in-inline build warnings

 - Use level-specific page table entry accessors for hugetlb entries and
   ptep_get() when accessing crashed kernel memory in kdump

 - Make forced AP bus rescans killable so that a user process blocked
   behind an ongoing scan can still be terminated with SIGKILL

 - Rework pkey ioctl error paths to remove duplicated cleanup code and
   avoid freeing error pointers

 - Allow the protected guest SWIOTLB buffer to be allocated outside the
   first 2GB. Also enable dynamic SWIOTLB growth and the coherent atomic
   pool fallback to improve I/O behavior when the initial pool is
   exhausted

 - Add program check statistics and spinlock contention tracepoints.
   Increase the lockdep chain capacity to keep lockdep enabled for
   complex code paths such as btrfs

 - Simplify IPL, trap and syscall code and remove the obsolete
   unistd_32.h generation entry

* tag 's390-7.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (59 commits)
  s390/percpu: Fix MVIY_PERCPU() with older binutils
  s390/debug: Fix deadlock during unregister
  s390/cpum_cf: Handle CPU hotplug via prepare/dead callbacks
  s390: Enable CONTEXT_ANALYSIS for various directories
  s390/mm: Add __context_unsafe() attribute to gmap helper functions
  s390/mm: Add __context_unsafe() attribute to do_secure_storage_access()
  s390/sysinfo: Add context analysis attributes
  s390/irqflags: Add out-of-line definitions of arch_local_irq_*() for KMSAN
  s390/virtio: Enable CONTEXT_ANALYSIS
  s390/cio: Enable CONTEXT_ANALYSIS
  s390/vfio_ccw: Add __must_hold() attribute to vfio_ccw_sch_quiesce()
  s390/pci: Enable CONTEXT_ANALYSIS
  s390/pci: Rework __zpci_event_availability() to remove conditional locking
  s390/pci: Rework __zpci_event_error() to remove conditional locking
  s390/char: Enable CONTEXT_ANALYSIS
  s390/con3215: Add __must_hold() attribute to raw3215_make_room()
  s390/ap: Fix MAPML computation
  s390/cio: Remove cond_resched() calls
  s390: Remove cond_resched() calls
  KVM: s390: Remove cond_resched() calls
  ...
2026-08-23 10:26:44 -07:00
..
airq.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
blacklist.c kernel.h: drop hex.h and update all hex.h users 2026-01-20 19:44:19 -08:00
blacklist.h
ccwgroup.c Convert 'alloc_flex' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
ccwreq.c s390: Remove KMSG_COMPONENT macro 2025-11-24 11:45:21 +01:00
chp.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
chp.h s390/cio: Externalize full CMG characteristics 2024-11-13 14:31:31 +01:00
chsc_sch.c s390/cio: Restore GFP_DMA for CHSC allocation 2026-05-11 16:27:25 +02:00
chsc_sch.h
chsc.c s390/cio: Restore GFP_DMA for CHSC allocation 2026-05-11 16:27:25 +02:00
chsc.h s390/cio: Externalize full CMG characteristics 2024-11-13 14:31:31 +01:00
cio_debug.h
cio_debugfs.c
cio_inject.c s390: Remove KMSG_COMPONENT macro 2025-11-24 11:45:21 +01:00
cio_inject.h
cio.c s390: Remove KMSG_COMPONENT macro 2025-11-24 11:45:21 +01:00
cio.h s390/cio: use generic driver_override infrastructure 2026-04-04 00:48:40 +02:00
cmf.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
crw.c s390/cio: Remove outdated email address 2025-02-18 18:53:47 +01:00
css.c s390/cio: Remove cond_resched() calls 2026-08-05 15:16:54 +02:00
css.h driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
device_fsm.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
device_id.c s390: Convert MACHINE_IS_[LPAR|VM|KVM], etc, machine_is_[lpar|vm|kvm]() 2025-03-04 17:18:07 +01:00
device_ops.c s390/cio: Use array indices instead of pointer arithmetic 2025-01-03 11:00:53 +01:00
device_pgid.c s390/cio: use new address translation helpers 2024-03-13 09:23:47 +01:00
device_status.c s390/cio: Use scnprintf() instead of sprintf() 2025-10-21 10:17:30 +02:00
device.c s390/cio: Purge based on the cdev's online status 2026-05-05 10:12:47 +02:00
device.h
eadm_sch.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
eadm_sch.h
fcx.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
idset.c bitmap: introduce generic optimized bitmap_size() 2024-04-01 10:49:28 +01:00
idset.h
io_sch.h
ioasm.c s390/cio/ioasm: Fix __xsch() condition code handling 2025-09-29 13:52:08 +02:00
ioasm.h
isc.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
itcw.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
Makefile s390/cio: Enable CONTEXT_ANALYSIS 2026-08-11 16:42:18 +02:00
orb.h s390/cio: use bitwise types to allow for type checking 2024-03-13 09:23:46 +01:00
qdio_debug.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
qdio_debug.h
qdio_main.c s390/irq/idle: Use stcke instead of stckf for time stamps 2026-06-15 16:33:40 +02:00
qdio_setup.c s390/qdio: Move memory alloc/pointer arithmetic for slib and sl into one place 2025-01-03 11:00:53 +01:00
qdio_thinint.c s390/irq/idle: Use stcke instead of stckf for time stamps 2026-06-15 16:33:40 +02:00
qdio.h s390/qdio: Move memory alloc/pointer arithmetic for slib and sl into one place 2025-01-03 11:00:53 +01:00
scm.c s390/cio: Restore GFP_DMA for CHSC allocation 2026-05-11 16:27:25 +02:00
trace.c
trace.h s390/drivers: Replace S390_lowcore by get_lowcore() 2024-06-18 17:01:33 +02:00
vfio_ccw_async.c s390/vfio_ccw: Ensure index for read/write regions are within range 2026-07-30 19:50:24 +02:00
vfio_ccw_chp.c s390/vfio_ccw: Implement a crw lock 2026-07-30 19:50:48 +02:00
vfio_ccw_cp.c s390/vfio_ccw: Selectively expand io_mutex 2026-07-30 19:50:43 +02:00
vfio_ccw_cp.h s390/vfio_ccw: Ensure first IDAW remains constant 2026-07-30 19:50:15 +02:00
vfio_ccw_drv.c s390 updates for 7.3 merge window 2026-08-23 10:26:44 -07:00
vfio_ccw_fsm.c s390/vfio_ccw: Selectively expand io_mutex 2026-07-30 19:50:43 +02:00
vfio_ccw_ops.c s390/vfio_ccw: Implement a crw lock 2026-07-30 19:50:48 +02:00
vfio_ccw_private.h s390 updates for 7.3 merge window 2026-08-23 10:26:44 -07:00
vfio_ccw_trace.c
vfio_ccw_trace.h