linux/arch/s390/kernel
Heiko Carstens 066c40918b s390/fpu: decrease stack usage for some cases
The kernel_fpu structure has a quite large size of 520 bytes. In order to
reduce stack footprint introduce several kernel fpu structures with
different and also smaller sizes. This way every kernel fpu user must use
the correct variant. A compile time check verifies that the correct variant
is used.

There are several users which use only 16 instead of all 32 vector
registers. For those users the new kernel_fpu_16 structure with a size of
only 266 bytes can be used.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2024-02-16 14:30:16 +01:00
..
syscalls lsm/stable-6.8 PR 20240105 2024-01-09 12:57:46 -08:00
vdso32 s390/vdso: remove unused ENTRY in linker scripts 2024-02-14 13:50:53 +01:00
vdso64 s390/vdso: remove unused ENTRY in linker scripts 2024-02-14 13:50:53 +01:00
.gitignore
abs_lowcore.c s390/mm: allocate Absolute Lowcore Area in decompressor 2023-01-13 14:15:06 +01:00
alternative.c s390/alternatives: remove padding generation code 2022-05-17 15:16:28 +02:00
asm-offsets.c s390/tracing: pass struct ftrace_regs to ftrace_trace_function 2023-07-24 12:12:24 +02:00
audit.c audit: add support for the openat2 syscall 2021-10-01 16:52:48 -04:00
audit.h
cache.c s390/cache: change type from unsigned long long to unsigned long 2023-01-25 20:51:09 +01:00
cert_store.c s390/cert_store: fix string length handling 2023-09-19 13:25:44 +02:00
compat_audit.c audit: add support for the openat2 syscall 2021-10-01 16:52:48 -04:00
compat_linux.c
compat_linux.h s390/compat: cleanup compat_linux.h header file 2022-05-06 20:45:16 +02:00
compat_ptrace.h
compat_signal.c s390/fpu: rename save_fpu_regs() to save_user_fpu_regs(), etc 2024-02-16 14:30:15 +01:00
cpcmd.c s390: include linux/io.h instead of asm/io.h 2023-07-03 11:19:40 +02:00
cpufeature.c s390/uvdevice: autoload module based on CPU facility 2022-07-19 16:18:49 +02:00
crash_dump.c s390/fpu: move, rename, and merge header files 2024-02-16 14:30:14 +01:00
ctlreg.c s390/ctlreg: add system_ctl_load() 2023-09-19 13:26:57 +02:00
debug.c S390: Remove now superfluous sentinel elem from ctl_table arrays 2023-10-10 15:22:02 -07:00
diag.c s390/diag: add missing virt_to_phys() translation to diag14() 2024-02-09 13:58:14 +01:00
dis.c s390: fix various typos 2023-07-03 11:19:42 +02:00
dumpstack.c s390/dumpstack: simplify in stack logic code 2023-04-04 18:34:55 +02:00
early_printk.c
early.c s390/fpu: move, rename, and merge header files 2024-02-16 14:30:14 +01:00
earlypgm.S s390/earlypgm: use SYM* macros instead of ENTRY(), etc. 2023-04-19 17:24:17 +02:00
ebcdic.c s390/ebcdic: fix typo in comment 2023-07-27 13:11:35 +02:00
entry.h s390/switch_to: use generic header file 2024-02-12 15:03:33 +01:00
entry.S s390/kvm: convert to regular kernel fpu user 2024-02-16 14:30:16 +01:00
facility.c KVM: s390: vsie: Fix length of facility list shadowed 2023-12-23 10:41:09 +01:00
fpu.c s390/fpu: decrease stack usage for some cases 2024-02-16 14:30:16 +01:00
ftrace.c s390/ftrace: do not assume module_alloc() returns executable memory 2023-04-13 17:36:26 +02:00
ftrace.h s390: raise minimum supported machine generation to z10 2022-03-10 15:58:17 +01:00
guarded_storage.c s390: use control register bit defines 2023-09-19 13:26:57 +02:00
head64.S s390: consistently use .balign instead of .align 2023-06-28 13:57:09 +02:00
idle.c sched/idle: Mark arch_cpu_idle_dead() __noreturn 2023-03-08 08:44:28 -08:00
ima_arch.c
ipl_vmparm.c s390/cio: remove unused include linux/spinlock.h from cio.h 2021-07-27 09:39:13 +02:00
ipl.c s390/ipl: add missing IPL_TYPE_ECKD_DUMP case to ipl_init() 2023-11-22 13:54:57 +01:00
irq.c s390/ctlreg: add local and system prefix to some functions 2023-09-19 13:26:56 +02:00
jump_label.c jump_label: make initial NOP patching the special case 2022-06-24 09:48:55 +02:00
kdebugfs.c
kexec_elf.c
kexec_image.c
kprobes_insn_page.S s390: consistently use .balign instead of .align 2023-06-28 13:57:09 +02:00
kprobes.c s390/ctlreg: add struct ctlreg 2023-09-19 13:26:56 +02:00
kprobes.h s390/kprobes: define insn cache ops within private header file 2022-11-23 16:24:07 +01:00
lgr.c s390/lgr: use simple assignment instead of memcpy 2022-02-06 23:31:29 +01:00
machine_kexec_file.c s390/ipl: fix virtual vs physical address confusion 2023-08-18 15:08:12 +02:00
machine_kexec_reloc.c
machine_kexec.c s390/fpu: move, rename, and merge header files 2024-02-16 14:30:14 +01:00
Makefile KVM: s390: vsie: Fix length of facility list shadowed 2023-12-23 10:41:09 +01:00
mcount.S s390: remove unneeded #include <asm/export.h> 2023-08-09 15:20:50 +02:00
module.c s390/module: fix rela calculation for R_390_GOTENT 2023-06-20 19:55:00 +02:00
nmi.c s390/fpu: move, rename, and merge header files 2024-02-16 14:30:14 +01:00
nospec-branch.c s390: fix various typos 2023-07-03 11:19:42 +02:00
nospec-sysfs.c s390: introduce nospec_uses_trampoline() 2021-10-26 15:21:29 +02:00
numa.c drivers/base/node: consolidate node device subsystem initialization in node_dev_init() 2022-03-22 15:57:10 -07:00
os_info.c s390/mm: allocate Absolute Lowcore Area in decompressor 2023-01-13 14:15:06 +01:00
perf_cpum_cf_events.c s390/cpumf: add new extended counter set for IBM z16 2022-05-16 10:58:33 +02:00
perf_cpum_cf.c s390: use control register bit defines 2023-09-19 13:26:57 +02:00
perf_cpum_sf.c s390/cpum_sf: remove check on CPU being online 2023-07-04 07:45:18 +02:00
perf_event.c s390/perf: implement perf_callchain_user() 2023-11-05 22:34:57 +01:00
perf_pai_crypto.c s390/pai_crypto: return proper error code in paicrypt_init 2024-02-09 13:58:14 +01:00
perf_pai_ext.c s390/pai: export number of sysfs attribute files 2024-02-09 13:58:14 +01:00
perf_regs.c s390/fpu: remove anonymous union from struct fpu 2024-02-16 14:30:16 +01:00
process.c s390/fpu: remove regs member from struct fpu 2024-02-16 14:30:16 +01:00
processor.c s390/fpu: get rid of MACHINE_HAS_VX 2023-12-11 14:33:07 +01:00
ptrace.c s390/fpu: remove anonymous union from struct fpu 2024-02-16 14:30:16 +01:00
reipl.S s390/reipl: use SYM* macros instead of ENTRY(), etc. 2023-04-19 17:24:17 +02:00
relocate_kernel.S s390/relocate_kernel: adjust indentation 2023-04-19 17:24:18 +02:00
rethook.c s390/rethook: add local rethook header file 2023-02-06 11:13:53 +01:00
rethook.h s390/rethook: add local rethook header file 2023-02-06 11:13:53 +01:00
runtime_instr.c
setup.c s390/setup: fix virtual vs physical address confusion 2024-02-16 14:30:12 +01:00
signal.c s390/fpu: rename save_fpu_regs() to save_user_fpu_regs(), etc 2024-02-16 14:30:15 +01:00
smp.c s390/fpu: move, rename, and merge header files 2024-02-16 14:30:14 +01:00
stacktrace.c s390: add USER_STACKTRACE support 2023-11-05 22:34:57 +01:00
sthyi.c s390 updates for 6.6 merge window 2023-08-28 17:22:39 -07:00
syscall.c s390: add support for BEAR enhancement facility 2021-10-26 15:21:29 +02:00
sysinfo.c s390/fpu: decrease stack usage for some cases 2024-02-16 14:30:16 +01:00
text_amode31.S s390/hypfs_diag0c: fix virtual vs physical address confusion 2024-02-09 13:58:13 +01:00
time.c s390/time: make stp_subsys const 2024-02-09 13:58:15 +01:00
topology.c sysctl-6.7-rc1 2023-11-01 20:51:41 -10:00
trace.c
traps.c s390/fpu: rename save_fpu_regs() to save_user_fpu_regs(), etc 2024-02-16 14:30:15 +01:00
unwind_bc.c s390/unwind: avoid duplicated unwinding entries for kretprobes 2022-03-27 22:18:39 +02:00
uprobes.c s390/switch_to: use generic header file 2024-02-12 15:03:33 +01:00
uv.c s390/uv: UV feature check utility 2023-08-28 09:27:55 +00:00
vdso.c mm: remove zap_page_range and create zap_vma_pages 2023-01-18 17:12:55 -08:00
vmlinux.lds.S s390: vmlinux.lds.S: explicitly keep various sections 2024-02-14 13:50:52 +01:00
vtime.c cputime: remove cputime_to_nsecs fallback 2022-12-27 12:52:17 +01:00