linux/arch/s390/kernel
Heiko Carstens f931f67cfc s390/time: Convert MACHINE_HAS_SCC to machine_has_scc()
Use static branch(es) to implement and use machine_has_scc() instead
of a runtime check via MACHINE_HAS_SCC.

This comes with a cleanup of early time initialization: the initial
tod_clock_base value is now passed via the bootdata mechanism, instead
of using absolute lowcore as transport vehicle from the decompressor
to the kernel.

Also the early tod clock initialization is moved to the decompressor
which allows to use a static branch with machine_has_scc() within the
kernel.

Reviewed-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2025-03-04 17:18:06 +01:00
..
diag s390/diag: Add memory topology information via diag310 2025-01-15 13:59:08 +01:00
syscalls s390 updates for 6.13 merge window 2024-11-18 17:45:41 -08:00
vdso32 s390/vdso: Drop LBASE_VDSO 2024-11-02 12:37:32 +01:00
vdso64 s390/Kconfig: Select VMAP_STACK unconditionally 2024-12-10 15:41:58 +01:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
abs_lowcore.c s390/lowcore: Convert relocated lowcore alternative to machine feature 2025-03-04 17:18:05 +01:00
alternative.c s390/lowcore: Convert relocated lowcore alternative to machine feature 2025-03-04 17:18:05 +01:00
asm-offsets.c s390/time: Convert MACHINE_HAS_SCC to machine_has_scc() 2025-03-04 17:18:06 +01:00
audit.c audit: add support for the openat2 syscall 2021-10-01 16:52:48 -04:00
audit.h
cache.c s390/cache: prevent rebuild of shared_cpu_list 2024-03-07 14:41:15 +01:00
cert_store.c fix missing vmalloc.h includes 2024-04-25 20:55:49 -07: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/vdso: Move vdso symbol handling to separate header file 2024-09-13 17:28:36 +02:00
cpacf.c s390/crypto/cpacf: Constify 'struct bin_attribute' 2025-01-07 10:05:35 +01:00
cpcmd.c s390/cpcmd: Convert to use flag output macros 2024-11-13 14:31:32 +01:00
cpufeature.c s390/uvdevice: autoload module based on CPU facility 2022-07-19 16:18:49 +02:00
crash_dump.c virtio: features, fixes, cleanups 2025-01-27 15:26:06 -08:00
ctlreg.c s390/ctlreg: add system_ctl_load() 2023-09-19 13:26:57 +02:00
debug.c treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
dis.c s390/disassembler: Remove duplicate instruction format RSY_RDRU 2024-09-12 14:13:27 +02:00
dumpstack.c s390: Replace S390_lowcore by get_lowcore() 2024-06-18 17:01:33 +02:00
early_printk.c s390/early: Dump register contents and call trace for early crashes 2024-08-22 19:28:11 +02:00
early.c s390/time: Convert MACHINE_HAS_SCC to machine_has_scc() 2025-03-04 17:18:06 +01:00
ebcdic.c s390/ebcdic: fix typo in comment 2023-07-27 13:11:35 +02:00
entry.h s390/tracing: Enable HAVE_FTRACE_GRAPH_FUNC 2024-12-26 10:50:05 -05:00
entry.S s390/lowcore: Convert relocated lowcore alternative to machine feature 2025-03-04 17:18:05 +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: Re-add exception handling in load_fpu_state() 2024-07-31 16:30:20 +02:00
ftrace.c s390/cpufeature: Convert MACHINE_HAS_SEQ_INSN to cpu_has_seq_insn() 2025-03-04 17:18:04 +01:00
ftrace.h s390/ftrace: Remove unused ftrace_plt_template* 2024-08-27 20:16:48 +02:00
guarded_storage.c s390/cpufeature: Convert MACHINE_HAS_GS to cpu_has_gs() 2025-03-04 17:18:04 +01:00
head64.S s390/time: Convert MACHINE_HAS_SCC to machine_has_scc() 2025-03-04 17:18:06 +01:00
hiperdispatch.c s390/cpufeature: Convert MACHINE_HAS_TOPOLOGY to cpu_has_topology() 2025-03-04 17:18:05 +01:00
idle.c s390/idle: Remove duplicate get_lowcore() calls 2024-06-18 17:01:33 +02: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 updates for 6.14 merge window 2025-01-20 21:14:49 -08:00
irq.c A set of updates for the interrupt subsystem: 2024-11-19 15:54:19 -08: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 s390, crash: wrap crash dumping code into crash related ifdefs 2024-02-23 17:48:23 -08:00
kexec_image.c s390, crash: wrap crash dumping code into crash related ifdefs 2024-02-23 17:48:23 -08:00
kprobes.c s390/cpufeature: Convert MACHINE_HAS_SEQ_INSN to cpu_has_seq_insn() 2025-03-04 17:18:04 +01:00
lgr.c s390: kernel: convert timeouts to use secs_to_jiffies() 2025-01-12 20:21:01 -08:00
machine_kexec_file.c s390, crash: wrap crash dumping code into crash related ifdefs 2024-02-23 17:48:23 -08:00
machine_kexec_reloc.c s390/kaslr: add support for R_390_JMP_SLOT relocation type 2020-05-20 10:13:27 +02:00
machine_kexec.c s390/cpufeature: Convert MACHINE_HAS_GS to cpu_has_gs() 2025-03-04 17:18:04 +01:00
Makefile s390/diag: Move diag.c to diag specific folder 2024-12-17 12:46:14 +01:00
mcount.S s390/tracing: Enable HAVE_FTRACE_GRAPH_FUNC 2024-12-26 10:50:05 -05:00
module.c arch: make execmem setup available regardless of CONFIG_MODULES 2024-05-14 00:31:44 -07:00
nmi.c s390/cpufeature: Convert MACHINE_HAS_GS to cpu_has_gs() 2025-03-04 17:18:04 +01:00
nospec-branch.c s390/nospec: Push down alternative handling 2024-07-23 16:02:31 +02:00
nospec-sysfs.c s390/nospec: Switch over to sysfs_emit() 2024-10-25 16:03:24 +02:00
numa.c mm/memblock: add memblock_alloc_or_panic interface 2025-01-25 20:22:38 -08:00
os_info.c s390: Remove __bootdata annotations from declarations 2024-12-15 16:19:04 +01:00
perf_cpum_cf_events.c s390/cpum_cf: make crypto counters upward compatible across machine types 2024-04-09 17:29:56 +02:00
perf_cpum_cf.c Linux 6.13-rc1 2024-12-02 11:52:59 +01:00
perf_cpum_sf.c perf/core: Export perf_exclude_event() 2024-12-09 15:50:31 +01:00
perf_event.c Performance events changes for v6.13: 2024-11-19 13:34:06 -08:00
perf_pai_crypto.c perf/core: Save raw sample data conditionally based on sample type 2024-11-19 09:23:42 +01:00
perf_pai_ext.c perf/core: Save raw sample data conditionally based on sample type 2024-11-19 09:23:42 +01:00
perf_regs.c s390/fpu: remove anonymous union from struct fpu 2024-02-16 14:30:16 +01:00
process.c s390: Replace S390_lowcore by get_lowcore() 2024-06-18 17:01:33 +02:00
processor.c s390/pci: Get rid of MACHINE_HAS_PCI_MIO 2025-03-04 17:18:06 +01:00
ptrace.c s390/cpufeature: Convert MACHINE_HAS_GS to cpu_has_gs() 2025-03-04 17:18:04 +01:00
reipl.S s390/kdump: Make kdump ready for lowcore relocation 2024-07-23 16:02:32 +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 s390/runtime_instrumentation: fix storage key handling 2020-08-17 13:17:10 +02:00
setup.c s390/lowcore: Convert relocated lowcore alternative to machine feature 2025-03-04 17:18:05 +01:00
signal.c s390/vdso: Move vdso symbol handling to separate header file 2024-09-13 17:28:36 +02:00
smp.c s390/cpufeature: Convert MACHINE_HAS_GS to cpu_has_gs() 2025-03-04 17:18:04 +01:00
stacktrace.c s390/stacktrace: Use break instead of return statement 2024-11-21 12:44:07 +01:00
sthyi.c s390/sthyi: Convert to use flag output macros 2024-11-13 14:31:31 +01:00
syscall.c s390 updates for 6.11 merge window 2024-07-18 15:41:45 -07:00
sysinfo.c s390/cpufeature: Convert MACHINE_HAS_TOPOLOGY to cpu_has_topology() 2025-03-04 17:18:05 +01:00
text_amode31.S s390/amode31: Use exrl instead of ex 2025-01-13 09:50:17 +01:00
time.c s390/time: Convert MACHINE_HAS_SCC to machine_has_scc() 2025-03-04 17:18:06 +01:00
topology.c s390/cpufeature: Convert MACHINE_HAS_TOPOLOGY to cpu_has_topology() 2025-03-04 17:18:05 +01:00
trace.c s390/ftrace: fix potential crashes when switching tracers 2020-04-22 16:20:55 +02:00
traps.c s390/mm/fault: Handle guest-related program interrupts in KVM 2024-10-29 11:49:18 +01:00
unwind_bc.c s390/unwind: disable KMSAN checks 2024-07-03 19:30:25 -07:00
uprobes.c s390/switch_to: use generic header file 2024-02-12 15:03:33 +01:00
uv.c KVM: s390: move pv gmap functions into kvm 2025-01-31 12:03:52 +01:00
vdso.c s390/vdso: Wire up getrandom() vdso implementation 2024-09-13 20:57:31 +02:00
vmcore_info.c s390: Remove __bootdata annotations from declarations 2024-12-15 16:19:04 +01:00
vmlinux.lds.S s390/fpu: Add fpc exception handler / remove fixup section again 2025-01-26 17:24:04 +01:00
vtime.c s390/vtime: Remove duplicate get_lowcore() calls 2024-06-18 17:01:33 +02:00
wti.c s390/wti: Add debugfs file to display missed grace periods per cpu 2024-08-29 22:56:35 +02:00