linux/arch/s390/include/asm
Linus Torvalds 0bdf4a8bf0 s390 updates for 6.3 merge window part 2
- Add empty command line parameter handling stubs to kernel for all command
   line parameters which are handled in the decompressor. This avoids
   invalid "Unknown kernel command line parameters" messages from the
   kernel, and also avoids that these will be incorrectly passed to user
   space. This caused already confusion, therefore add the empty stubs
 
 - Add missing phys_to_virt() handling to machine check handler
 
 - Introduce and use a union to be used for zcrypt inline assemblies. This
   makes sure that only a register wide member of the union is passed as
   input and output parameter to inline assemblies, while usual C code uses
   other members of the union to access bit fields of it
 
 - Add and use a READ_ONCE_ALIGNED_128() macro, which can be used to
   atomically read a 128-bit value from memory. This replaces the (mis-)use
   of the 128-bit cmpxchg operation to do the same in cpum_sf code.
   Currently gcc does not generate the used lpq instruction if __READ_ONCE()
   is used for aligned 128-bit accesses, therefore use this s390 specific
   helper
 
 - Simplify machine check handler code if a task needs to be killed because
   of e.g. register corruption due to a machine malfunction
 
 - Perform CPU reset to clear pending interrupts and TLB entries on an
   already stopped target CPU before delegating work to it
 
 - Generate arch/s390/boot/vmlinux.map link map for the decompressor, when
   CONFIG_VMLINUX_MAP is enabled for debugging purposes
 
 - Fix segment type handling for dcssblk devices. It incorrectly always
   returned type "READ/WRITE" even for read-only segements, which can result
   in a kernel panic if somebody tries to write to a read-only device
 
 - Sort config S390 select list again
 
 - Fix two kprobe reenter bugs revealed by a recently added kprobe kunit
   test
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEECMNfWEw3SLnmiLkZIg7DeRspbsIFAmQB5LgACgkQIg7DeRsp
 bsLvPRAAojiU7uZTDKL58Ta67D7gyWWZa6ClI7MHrtEwEM70cOZHmOYToFuyapbT
 Af+PBg8YcqDDHxGf+HNuxnYRI4y2hGJUyjURZmGuCzPPJ5IGvy+8/X0d0wsvclqC
 fWeTtVvZIxdu5NdBQTs1iMCCxPXg9OfGDVCU+P/pnrlKskHorA6a2ZWGdkpae3fj
 kd1pgLLcZq0Jf8+Q6bSLBZjm45R/Q+qEpd8eIOncP7xrQTpLPkLxRSrnZLPtYdLu
 7uUDtzEC63x7/0Weri71ZQqbc22CzHNiF6FZj5sm78KsWmparmUUsns/U5CrEO4J
 e85/kPXjgfvwMZdQCXSPHZJ8CGTRzN6Zl/Lym9W5+9X6cgb1WNVNCATGZIG3HueA
 MYnXmLkmNmaEgsckcYbCVPR9SjIwVibIL+/32hH63oUnc8WnrbVlai/G57j0dRUg
 +kxVvwbxaDyesRbF7XKe4PssYZJxpO+QFIhnvo6EEghUuc32o+WVNqjoU04/VBaa
 i2FtbARGDWWs5+EwS9td/xHiFPQHpFCJHrMbxacEQmtDbOTOhoLbxNlP17YfQ2oD
 ch0QCZ1w0VwE9ehMRLmZQCem51n7aPt11tKOEFKsck4Mb1dXVLW9LWwNpjIBXrIo
 2g4U4Ytj2I9HbxWMJmKmLsP4NHn2oG3A+uGUkSWf/wdDTfylB30=
 =zZId
 -----END PGP SIGNATURE-----

Merge tag 's390-6.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull more s390 updates from Heiko Carstens:

 - Add empty command line parameter handling stubs to kernel for all
   command line parameters which are handled in the decompressor. This
   avoids invalid "Unknown kernel command line parameters" messages from
   the kernel, and also avoids that these will be incorrectly passed to
   user space. This caused already confusion, therefore add the empty
   stubs

 - Add missing phys_to_virt() handling to machine check handler

 - Introduce and use a union to be used for zcrypt inline assemblies.
   This makes sure that only a register wide member of the union is
   passed as input and output parameter to inline assemblies, while
   usual C code uses other members of the union to access bit fields of
   it

 - Add and use a READ_ONCE_ALIGNED_128() macro, which can be used to
   atomically read a 128-bit value from memory. This replaces the
   (mis-)use of the 128-bit cmpxchg operation to do the same in cpum_sf
   code. Currently gcc does not generate the used lpq instruction if
   __READ_ONCE() is used for aligned 128-bit accesses, therefore use
   this s390 specific helper

 - Simplify machine check handler code if a task needs to be killed
   because of e.g. register corruption due to a machine malfunction

 - Perform CPU reset to clear pending interrupts and TLB entries on an
   already stopped target CPU before delegating work to it

 - Generate arch/s390/boot/vmlinux.map link map for the decompressor,
   when CONFIG_VMLINUX_MAP is enabled for debugging purposes

 - Fix segment type handling for dcssblk devices. It incorrectly always
   returned type "READ/WRITE" even for read-only segements, which can
   result in a kernel panic if somebody tries to write to a read-only
   device

 - Sort config S390 select list again

 - Fix two kprobe reenter bugs revealed by a recently added kprobe kunit
   test

* tag 's390-6.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/kprobes: fix current_kprobe never cleared after kprobes reenter
  s390/kprobes: fix irq mask clobbering on kprobe reenter from post_handler
  s390/Kconfig: sort config S390 select list again
  s390/extmem: return correct segment type in __segment_load()
  s390/decompressor: add link map saving
  s390/smp: perform cpu reset before delegating work to target cpu
  s390/mcck: cleanup user process termination path
  s390/cpum_sf: use READ_ONCE_ALIGNED_128() instead of 128-bit cmpxchg
  s390/rwonce: add READ_ONCE_ALIGNED_128() macro
  s390/ap,zcrypt,vfio: introduce and use ap_queue_status_reg union
  s390/nmi: fix virtual-physical address confusion
  s390/setup: do not complain about parameters handled in decompressor
2023-03-03 09:38:01 -08:00
..
fpu s390/vx: use simple assignments to access __vector128 members 2023-02-09 20:11:23 +01:00
trace
vdso s390/vdso: use system call functions 2021-07-27 09:39:15 +02:00
Kbuild local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
abs_lowcore.h s390/mm: allocate Absolute Lowcore Area in decompressor 2023-01-13 14:15:06 +01:00
airq.h s390/airq: allow for airq structure that uses an input vector 2022-07-11 09:54:15 +02:00
alternative-asm.h s390/alternatives: remove padding generation code 2022-05-17 15:16:28 +02:00
alternative.h s390/alternatives: remove padding generation code 2022-05-17 15:16:28 +02:00
ap.h s390/ap,zcrypt,vfio: introduce and use ap_queue_status_reg union 2023-02-27 15:29:36 +01:00
appldata.h
archrandom.h Random number generator updates for Linux 6.0-rc1. 2022-08-02 17:31:35 -07:00
asm-const.h
asm-extable.h s390/extable: add EX_TABLE_UA_LOAD_REGPAIR() macro 2022-11-21 13:36:15 +01:00
asm-prototypes.h
atomic.h locking/atomic: make ARCH_ATOMIC a Kconfig symbol 2021-05-26 13:20:49 +02:00
atomic_ops.h s390/atomic,cmpxchg: make constraints work with old compilers 2021-04-15 17:47:42 +02:00
barrier.h s390: add KCSAN instrumentation to barriers and spinlocks 2022-04-25 13:54:16 +02:00
bitops.h provide arch_test_bit_acquire for architectures that define test_bit 2022-08-27 09:49:54 -07:00
boot_data.h
bug.h bug: Use normal relative pointers in 'struct bug_entry' 2022-05-19 23:46:10 +02:00
cache.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
ccwdev.h s390/cio: introduce locking for register/unregister functions 2023-01-31 18:56:36 +01:00
ccwgroup.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
checksum.h s390/checksum: support GENERIC_CSUM, enable it for KASAN 2022-12-02 18:25:04 +01:00
chpid.h
chsc.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
cio.h s390/stp: clock_delta should be signed 2022-05-11 14:40:57 +02:00
clocksource.h
clp.h s390/pci: Implement ioremap_wc/prot() with MIO 2020-09-14 10:30:07 +02:00
cmb.h
cmpxchg.h s390/cmpxchg: make loop condition for 1,2 byte cases precise 2022-11-21 13:36:16 +01:00
compat.h RISC-V Patches for the 5.19 Merge Window, Part 1 2022-05-31 14:10:54 -07:00
cpacf.h s390/cpacf: get rid of register asm 2021-07-27 09:39:15 +02:00
cpcmd.h
cpu.h s390: add support for BEAR enhancement facility 2021-10-26 15:21:29 +02:00
cpu_mf-insn.h
cpu_mf.h s390/cpum_sf: move functions from header file to source file 2023-01-22 18:42:34 +01:00
cpufeature.h s390/uvdevice: autoload module based on CPU facility 2022-07-19 16:18:49 +02:00
cputime.h s390/idle: remove arch_cpu_idle_time() and corresponding code 2023-02-09 20:11:23 +01:00
crw.h s390: remove invalid email address of Heiko Carstens 2022-02-06 23:31:29 +01:00
css_chars.h s390/cio: Add new Operation Code OC3 to PNSO 2020-09-15 13:21:46 -07:00
ctl_reg.h s390/pai: Add support for PAI Extension 1 NNPA counters 2022-09-16 18:36:25 +02:00
current.h
debug.h s390/debug: add _ASM_S390_ prefix to header guard 2023-01-06 16:38:21 +01:00
delay.h s390/delay: remove udelay_simple() 2020-12-16 14:55:49 +01:00
diag.h s390/diag: use __packed __aligned 2023-01-09 14:34:05 +01:00
dis.h
dma.h PCI: Move isa_dma_bridge_buggy out of asm/dma.h 2022-07-22 17:24:47 -05:00
dwarf.h
eadm.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
ebcdic.h
elf.h s390/hwcaps: make sie capability regular hwcap 2021-07-27 09:39:21 +02:00
entry-common.h s390/pai: add support for cryptography counters 2022-05-09 11:50:01 +02:00
exec.h
extable.h s390/extable: convert to relative table with data 2022-03-08 00:33:00 +01:00
extmem.h
facility.h include/linux/delay.h: replace kernel.h with the necessary inclusions 2021-11-09 10:02:49 -08:00
fcx.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
ftrace.h ftrace: abstract DYNAMIC_FTRACE_WITH_ARGS accesses 2022-11-18 13:56:41 +00:00
ftrace.lds.h s390/ftrace: implement hotpatching 2021-08-03 14:31:40 +02:00
futex.h s390/futex: add missing EX_TABLE entry to __futex_atomic_op() 2022-10-26 14:47:31 +02:00
gmap.h KVM: s390: pv: refactor s390_reset_acc 2022-07-13 14:42:11 +00:00
hardirq.h softirq: Move __ARCH_HAS_DO_SOFTIRQ to Kconfig 2021-02-10 23:34:16 +01:00
hugetlb.h s390/hugetlb: fix prepare_hugepage_range() check for 2 GB hugepages 2022-08-30 21:57:07 +02:00
hw_irq.h
idals.h vfio/ccw: calculate number of IDAWs regardless of format 2023-01-09 14:34:08 +01:00
idle.h s390/irq,idle: simplify idle check 2023-02-15 11:07:01 +01:00
io.h mm: remove xlate_dev_kmem_ptr() 2021-05-07 00:26:34 -07:00
ipl.h s390/ipl: add eckd dump support 2022-12-06 16:18:22 +01:00
irq.h s390/irq: use assignment instead of cast 2022-03-08 00:33:01 +01:00
irq_work.h s390/smp: implement arch_irq_work_raise() 2021-02-24 00:31:22 +01:00
irqflags.h s390/irqflags: always inline arch irqflags functions 2021-06-18 16:41:19 +02:00
isc.h
itcw.h
jump_label.h jump_label: s390: avoid pointless initial NOP patching 2022-06-24 09:48:54 +02:00
kasan.h s390/boot: avoid page tables memory in kaslr 2023-02-06 11:13:55 +01:00
kdebug.h exit: Remove calls of do_exit after noreturn versions of die 2021-10-20 13:09:47 -05:00
kexec.h kexec: drop weak attribute from functions 2022-07-15 12:21:16 -04:00
kfence.h s390: add support for KFENCE 2021-07-30 17:09:02 +02:00
kprobes.h s390/rethook: add local rethook header file 2023-02-06 11:13:53 +01:00
kvm_host.h KVM: Opt out of generic hardware enabling on s390 and PPC 2022-12-29 15:48:37 -05:00
kvm_para.h KVM: s390: generate kvm hypercall functions 2021-08-25 11:03:35 +02:00
linkage.h s390/extable: move EX_TABLE define to asm-extable.h 2022-03-08 00:33:00 +01:00
lowcore.h s390/pai: Add support for PAI Extension 1 NNPA counters 2022-09-16 18:36:25 +02:00
maccess.h s390/mm: allocate Real Memory Copy Area in decompressor 2023-01-13 14:15:06 +01:00
mem_detect.h s390/mem_detect: do not truncate online memory ranges info 2023-02-14 11:45:40 +01:00
mem_encrypt.h s390/mm: fix virtual-physical address confusion for swiotlb 2022-11-07 14:33:40 +01:00
mmu.h s390 updates for 5.20 merge window 2022-08-06 17:05:21 -07:00
mmu_context.h KVM: s390: pv: usage counter instead of flag 2022-07-13 14:42:11 +00:00
mmzone.h
module.h s390/ftrace: implement hotpatching 2021-08-03 14:31:40 +02:00
msi.h irq/s390: Add arch_is_isolated_msi() for s390 2023-01-11 16:27:23 -04:00
nmi.h s390/mcck: cleanup user process termination path 2023-02-28 13:19:05 +01:00
nospec-branch.h s390: introduce nospec_uses_trampoline() 2021-10-26 15:21:29 +02:00
nospec-insn.h s390/nospec: remove unneeded header includes 2022-07-13 15:21:55 +02:00
numa.h
os_info.h s390/mm: uninline copy_oldmem_kernel() function 2022-09-14 16:46:01 +02:00
page-states.h
page.h mm: add vma_alloc_zeroed_movable_folio() 2023-02-02 22:33:18 -08:00
pai.h s390/pai: move enum definition to header file 2022-10-26 14:46:51 +02:00
pci.h s390/pci: use lock-free I/O translation updates 2022-11-19 10:28:18 +01:00
pci_clp.h s390/pci: stash dtsm and maxstbl 2022-07-11 09:54:24 +02:00
pci_debug.h s390/pci: add error record for CC 2 retries 2022-04-25 13:54:15 +02:00
pci_dma.h iommu/s390: Push the gfp parameter to the kmem_cache_alloc()'s 2023-01-25 11:52:06 +01:00
pci_insn.h KVM: s390: pci: do initial setup for AEN interpretation 2022-07-11 09:54:28 +02:00
pci_io.h s390/pci: move pseudo-MMIO to prevent MIO overlap 2021-11-29 09:48:34 +01:00
percpu.h s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple() 2023-01-11 15:28:47 +01:00
perf_event.h
pgalloc.h s390/mm: use set_pXd()/set_pte() helper functions everywhere 2022-03-01 21:05:10 +01:00
pgtable.h - Daniel Verkamp has contributed a memfd series ("mm/memfd: add 2023-02-23 17:09:35 -08:00
pkey.h
pnet.h
preempt.h s390/preempt: disable __preempt_count_add() optimization for PROFILE_ALL_BRANCHES 2022-05-11 14:40:58 +02:00
processor.h s390/processor: add test_and_set_cpu_flag() and test_and_clear_cpu_flag() 2023-02-15 11:07:01 +01:00
ptdump.h s390: add ARCH_HAS_DEBUG_WX support 2020-09-14 11:38:35 +02:00
ptrace.h s390/mm: start kernel with DAT enabled 2023-01-13 14:15:05 +01:00
purgatory.h
qdio.h s390/qdio: Fix spelling mistake 2022-06-30 19:40:36 +02:00
runtime_instr.h
rwonce.h s390/rwonce: add READ_ONCE_ALIGNED_128() macro 2023-02-28 13:19:05 +01:00
schid.h
sclp.h s390/sclp: introduce sclp_emergency_printk() 2022-12-06 16:18:24 +01:00
scsw.h s390/dasd: suppress generic error messages for PPRC secondary devices 2022-09-21 08:32:51 -06:00
seccomp.h s390: Enable seccomp architecture tracking 2020-11-20 11:16:35 -08:00
sections.h s390: use generic version of arch_is_kernel_initmem_freed() 2021-11-06 13:30:38 -07:00
set_memory.h s390/mm: implement set_memory_4k() 2021-07-30 17:09:01 +02:00
setup.h s390/mm: add support for RDP (Reset DAT-Protection) 2023-02-14 11:45:39 +01:00
signal.h
sigp.h s390/sigp: use register pair instead of register asm 2021-06-18 16:41:22 +02:00
smp.h s390/dump: save IPL CPU registers once DAT is available 2022-09-14 16:46:00 +02:00
softirq_stack.h asm-generic: Conditionally enable do_softirq_own_stack() via Kconfig. 2022-09-05 17:20:55 +02:00
sparsemem.h
spinlock.h s390/alternatives: provide identical sized orginal/alternative sequences 2022-05-17 15:16:28 +02:00
spinlock_types.h locking: Allow to include asm/spinlock_types.h from linux/spinlock_types_raw.h 2021-12-07 15:14:12 +01:00
stacktrace.h s390/entry: sort out physical vs virtual pointers usage in sie64a 2022-10-26 14:27:41 +02:00
stp.h s390/stp: fix todoff size 2022-05-11 14:40:57 +02:00
string.h s390/string: use generic strlcpy 2021-10-26 15:21:30 +02:00
switch_to.h
syscall.h arch: remove unused function syscall_set_arguments() 2021-09-14 16:06:20 +02:00
syscall_wrapper.h s390/syscalls: get rid of system call alias functions 2023-01-25 20:51:11 +01:00
sysinfo.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
text-patching.h s390: introduce text_poke_sync() 2021-10-11 20:55:58 +02:00
thread_info.h s390: add CPU field to struct thread_info 2021-09-30 16:12:51 +02:00
timex.h s390: define get_cycles macro for arch-override 2022-05-13 23:59:23 +02:00
tlb.h mm: delay page_remove_rmap() until after the TLB has been flushed 2022-11-30 15:58:50 -08:00
tlbflush.h s390: convert ".insn" encoding to instruction names 2022-03-10 15:58:17 +01:00
topology.h
tpi.h KVM: s390: pci: enable host forwarding of Adapter Event Notifications 2022-07-11 09:54:29 +02:00
types.h s390: introduce register pair union 2021-06-18 16:41:21 +02:00
uaccess.h s390/uaccess: avoid __ashlti3() call 2023-01-04 17:54:50 +01:00
unistd.h fs: stat: compat: Add __ARCH_WANT_COMPAT_STAT 2022-04-26 13:35:45 -07:00
unwind.h s390/kprobes: replace kretprobe with rethook 2023-01-22 18:42:35 +01:00
uprobes.h
user.h asm/user.h: killed unused macros 2022-01-30 21:17:00 -05:00
uv.h KVM: s390: pv: support for Destroy fast UVC 2022-11-23 09:06:50 +00:00
vdso.h s390/vdso: add minimal compat vdso 2021-07-08 15:37:28 +02:00
vmalloc.h
vmlinux.lds.h
vtime.h s390: convert to generic entry 2021-01-19 12:29:26 +01:00
vtimer.h s390: remove orphaned function declarations 2020-09-30 12:09:54 +02:00
vx-insn-asm.h s390/vx: add vx-insn.h wrapper include file 2022-12-06 16:18:23 +01:00
vx-insn.h s390/vx: add vx-insn.h wrapper include file 2022-12-06 16:18:23 +01:00
xor.h