[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z4uGVvRYa1JaoGWy@tuxmaker.boeblingen.de.ibm.com>
Date: Sat, 18 Jan 2025 11:45:42 +0100
From: Alexander Gordeev <agordeev@...ux.ibm.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Vasily Gorbik <gor@...ux.ibm.com>, Heiko Carstens <hca@...ux.ibm.com>,
linux-s390@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [GIT PULL] s390 updates for 6.14 merge window
Hi Linus,
please pull s390 updates for the 6.14 merge window.
Thanks,
Alexander
The following changes since commit fac04efc5c793dccbd07e2d59af9f90b7fc0dca4:
Linux 6.13-rc2 (2024-12-08 14:03:39 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-6.14-1
for you to fetch changes up to 26701574cee6777f867f89b4a5c667817e1ee0dd:
s390/futex: Fix FUTEX_OP_ANDN implementation (2025-01-15 17:12:31 +0100)
----------------------------------------------------------------
s390 updates for 6.14 merge window
- Select config option KASAN_VMALLOC if KASAN is enabled
- Select config option VMAP_STACK unconditionally
- Implement arch_atomic_inc() / arch_atomic_dec() functions
which result in a single instruction if compiled for z196
or newer architectures
- Make layering between atomic.h and atomic_ops.h consistent
- Comment s390 preempt_count implementation
- Remove pre MARCH_HAS_Z196_FEATURES preempt count implementation
- GCC uses the number of lines of an inline assembly to calculate
number of instructions and decide on inlining. Therefore remove
superfluous new lines from a couple of inline assemblies.
- Provide arch_atomic_*_and_test() implementations that allow the
compiler to generate slightly better code.
- Optimize __preempt_count_dec_and_test()
- Remove __bootdata annotations from declarations in header files
- Add missing include of <linux/smp.h> in abs_lowcore.h to provide
declarations for get_cpu() and put_cpu() used in the code
- Fix suboptimal kernel image base when running make kasan.config
- Remove huge_pte_none() and huge_pte_none_mostly() as are identical
to the generic variants
- Remove unused PAGE_KERNEL_EXEC, SEGMENT_KERNEL_EXEC,
and REGION3_KERNEL_EXEC defines
- Simplify noexec page protection handling and change the page,
segment and region3 protection definitions automatically if the
instruction execution-protection facility is not available
- Save one instruction and prefer EXRL instruction over EX in
string, xor_*(), amode31 and other functions
- Create /dev/diag misc device to fetch diagnose specific
information from the kernel and provide it to userspace
- Retrieve electrical power readings using DIAGNOSE 0x324 ioctl
- Make ccw_device_get_ciw() consistent and use array indices
instead of pointer arithmetic
* s390/qdio: Move memory alloc/pointer arithmetic for slib and sl into one place
- The sysfs core now allows instances of 'struct bin_attribute' to be
moved into read-only memory. Make use of that in s390 code
- Add missing TLB range adjustment in pud_free_tlb()
- Improve topology setup by adding early polarization detection
- Fix length checks in codepage_convert() function
- The generic bitops implementation is nearly identical to the s390 one.
Switch to the generic variant and decrease a bit the kernel image size
- Provide an optimized arch_test_bit() implementation which makes use of
flag output constraint. This generates slightly better code
- Provide memory topology information obtanied with DIAGNOSE 0x310
using ioctl.
- Various other small improvements, fixes, and cleanups
These changes were added with a merge of 'pci-device-recovery' branch
- Add PCI error recovery status mechanism
- Simplify and document debug_next_entry() logic
- Split private data allocation and freeing out of debug file
open() and close() operations
- Add debug_dump() function that gets a textual representation
of a debug info (e.g. PCI recovery hardware error logs)
- Add formatted content of pci_debug_msg_id to the PCI report
----------------------------------------------------------------
Alexander Gordeev (2):
Merge branch 'pci-device-recovery' into features
s390/tlb: Add missing TLB range adjustment
Benjamin Block (3):
s390/qdio: Rename feature flag aif_osa to aif_qdio
s390/cio: Use array indices instead of pointer arithmetic
s390/qdio: Move memory alloc/pointer arithmetic for slib and sl into one place
Heiko Carstens (18):
s390/Kconfig: Select KASAN_VMALLOC if KASAN is enabled
s390/Kconfig: Select VMAP_STACK unconditionally
s390/setup: Cleanup stack_alloc() and stack_free()
s390/atomic: Implement arch_atomic_inc() / arch_atomic_dec()
s390/atomic: Consistent layering between atomic.h and atomic_ops.h
s390/preempt: Add comments
s390/preempt: Remove special pre MARCH_HAS_Z196_FEATURES implementation
s390/preempt: Adjust coding style
s390: Remove superfluous new lines from inline assemblies
s390/atomic: Provide arch_atomic_*_and_test() implementations
s390/preempt: Optimize __preempt_count_dec_and_test()
s390/mm/hugetlbfs: Remove huge_pte_none() / huge_pte_none_mostly()
s390/mm: Remove incorrect comment
s390/mm: Remove unused PAGE_KERNEL_EXEC and friends
s390/mm: Simplify noexec page protection handling
s390/bitops: Switch to generic bitops
s390/bitops: Provide optimized arch_test_bit()
s390/futex: Fix FUTEX_OP_ANDN implementation
Mete Durlu (2):
s390/topology: Improve topology detection
s390/diag: Add memory topology information via diag310
Niklas Schnelle (6):
s390/pci: Report PCI error recovery results via SCLP
s390/debug: Simplify and document debug_next_entry() logic
s390/debug: Split private data alloc/free out of file operations
s390/debug: Add debug_dump() to write debug view to a string buffer
s390/debug: Add a reverse mode for debug_dump()
s390/pci: Add pci_msg debug view to PCI report
Sumanth Korikkar (3):
s390/diag: Create misc device /dev/diag
s390/diag324: Retrieve power readings via diag 0x324
s390/diag: Move diag.c to diag specific folder
Sven Schnelle (7):
s390/lib: Use exrl instead of ex in string functions
s390/lib: Use exrl instead of ex in xor functions
s390/stackleak: Use exrl instead of ex in __stackleak_poison()
s390/amode31: Use exrl instead of ex
s390/ebcdic: Use exrl instead of ex
s390/ebcdic: Fix length check in codepage_convert()
s390/ebcdic: Fix length decrement in codepage_convert()
Thomas Weißschuh (5):
s390/crypto/cpacf: Constify 'struct bin_attribute'
s390/ipl: Constify 'struct bin_attribute'
s390/pci: Constify 'struct bin_attribute'
s390/sclp: Constify 'struct bin_attribute'
s390/pkey: Constify 'struct bin_attribute'
Vasily Gorbik (3):
s390: Remove __bootdata annotations from declarations
s390/abs_lowcore: Include linux/smp.h for get_cpu() and put_cpu()
s390: Add KERNEL_IMAGE_BASE to kasan.config
arch/s390/Kconfig | 28 +---
arch/s390/Makefile | 9 --
arch/s390/boot/boot.h | 1 -
arch/s390/boot/startup.c | 13 +-
arch/s390/boot/vmem.c | 20 +--
arch/s390/configs/kasan.config | 2 +-
arch/s390/include/asm/abs_lowcore.h | 4 +-
arch/s390/include/asm/atomic.h | 68 ++++++++-
arch/s390/include/asm/atomic_ops.h | 121 ++++++++++++----
arch/s390/include/asm/bitops.h | 201 ++++----------------------
arch/s390/include/asm/checksum.h | 2 +-
arch/s390/include/asm/css_chars.h | 2 +-
arch/s390/include/asm/debug.h | 7 +
arch/s390/include/asm/diag.h | 2 +
arch/s390/include/asm/ebcdic.h | 16 +--
arch/s390/include/asm/fpu-insn.h | 14 +-
arch/s390/include/asm/futex.h | 2 +-
arch/s390/include/asm/hugetlb.h | 23 +--
arch/s390/include/asm/page-states.h | 3 +-
arch/s390/include/asm/pgtable.h | 126 ++++++++--------
arch/s390/include/asm/preempt.h | 83 ++++-------
arch/s390/include/asm/processor.h | 3 +-
arch/s390/include/asm/sclp.h | 35 +++++
arch/s390/include/asm/tlb.h | 2 +-
arch/s390/include/uapi/asm/diag.h | 32 +++++
arch/s390/kernel/Makefile | 3 +-
arch/s390/kernel/abs_lowcore.c | 1 +
arch/s390/kernel/cpacf.c | 36 ++---
arch/s390/kernel/debug.c | 241 +++++++++++++++++++++++++------
arch/s390/kernel/diag/Makefile | 1 +
arch/s390/kernel/{ => diag}/diag.c | 4 +-
arch/s390/kernel/diag/diag310.c | 276 ++++++++++++++++++++++++++++++++++++
arch/s390/kernel/diag/diag324.c | 224 +++++++++++++++++++++++++++++
arch/s390/kernel/diag/diag_ioctl.h | 14 ++
arch/s390/kernel/diag/diag_misc.c | 63 ++++++++
arch/s390/kernel/entry.S | 20 +--
arch/s390/kernel/ipl.c | 142 +++++++++----------
arch/s390/kernel/os_info.c | 1 +
arch/s390/kernel/setup.c | 33 ++---
arch/s390/kernel/text_amode31.S | 3 +-
arch/s390/kernel/topology.c | 11 ++
arch/s390/kernel/vdso64/Makefile | 2 +-
arch/s390/kernel/vmcore_info.c | 3 +-
arch/s390/lib/mem.S | 15 +-
arch/s390/lib/xor.c | 61 ++++----
arch/s390/mm/init.c | 9 ++
arch/s390/mm/maccess.c | 1 +
arch/s390/mm/mmap.c | 42 +++---
arch/s390/mm/pageattr.c | 6 -
arch/s390/mm/pgtable.c | 2 -
arch/s390/mm/vmem.c | 8 --
arch/s390/pci/Makefile | 2 +-
arch/s390/pci/pci_event.c | 21 ++-
arch/s390/pci/pci_report.c | 158 +++++++++++++++++++++
arch/s390/pci/pci_report.h | 16 +++
arch/s390/pci/pci_sysfs.c | 12 +-
drivers/s390/char/sclp.h | 18 +--
drivers/s390/char/sclp_config.c | 4 +-
drivers/s390/char/sclp_early.c | 3 +
drivers/s390/char/sclp_pci.c | 19 ---
drivers/s390/char/sclp_sd.c | 4 +-
drivers/s390/cio/device_ops.c | 2 +-
drivers/s390/cio/qdio.h | 9 +-
drivers/s390/cio/qdio_setup.c | 21 ++-
drivers/s390/crypto/pkey_sysfs.c | 126 ++++++++--------
65 files changed, 1665 insertions(+), 791 deletions(-)
create mode 100644 arch/s390/include/uapi/asm/diag.h
create mode 100644 arch/s390/kernel/diag/Makefile
rename arch/s390/kernel/{ => diag}/diag.c (98%)
create mode 100644 arch/s390/kernel/diag/diag310.c
create mode 100644 arch/s390/kernel/diag/diag324.c
create mode 100644 arch/s390/kernel/diag/diag_ioctl.h
create mode 100644 arch/s390/kernel/diag/diag_misc.c
create mode 100644 arch/s390/pci/pci_report.c
create mode 100644 arch/s390/pci/pci_report.h
Powered by blists - more mailing lists