linux/arch/riscv/kernel
Mayuresh Chitale 7b090e7b91 riscv: sbi: Prefer SRST shutdown over legacy
Currently, the sbi_init() always attempts to register the legacy shutdown
function as the sys-off handler which is fine when RISCV_SBI_V01 is not
enabled. However, if RISCV_SBI_V01 is enabled in the kernel and the SBI
v0.1 is not supported by the underlying SBI implementation then the
legacy shutdown fails. Fix this by not registering the legacy shutdown
when SRST shutdown is available.

Fixes: 70ddf86d76 ("riscv: sbi: Switch to new sys-off handler API")
Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Link: https://patch.msgid.link/20251114065808.304430-1-mchitale@ventanamicro.com
Signed-off-by: Paul Walmsley <pjw@kernel.org>
History 2025-11-16 10:37:27 -07:00
..
compat_vdso Makefile: remove redundant tool coverage variables 2024-05-14 23:35:48 +09:00
pi riscv: pi: use 'targets' instead of extra-y in Makefile 2025-09-18 08:20:56 -06:00
probes riscv: kprobes: Fix probe address validation 2025-10-09 19:36:45 -06:00
tests riscv: tests: Make RISCV_KPROBES_KUNIT tristate 2025-10-27 18:49:34 -06:00
vdso riscv: hwprobe: Fix stale vDSO data for late-initialized keys at boot 2025-10-17 22:23:11 -06:00
vendor_extensions riscv: hwprobe: Add MIPS vendor extension probing 2025-09-19 10:33:56 -06:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
acpi.c RISC-V: ACPI: enable parsing the BGRT table 2025-09-18 08:21:45 -06:00
acpi_numa.c ACPI: NUMA: initialize all values of acpi_early_node_map to NUMA_NO_NODE 2024-09-20 01:31:26 -07:00
alternative.c riscv: errata: Fix the PAUSE Opcode for MIPS P8700 2025-09-19 10:33:56 -06:00
asm-offsets.c arch: Add the macro COMPILE_OFFSETS to all the asm-offsets.c 2025-09-25 09:57:15 +02:00
bugs.c riscv: Add ghostwrite vulnerability 2025-01-18 12:33:39 -08:00
cacheinfo.c riscv: cacheinfo: Use of_property_present() for non-boolean properties 2025-02-14 13:04:20 -08:00
cfi.c cfi: Move BPF CFI types and helpers to generic code 2025-07-31 18:23:53 -07:00
compat_signal.c riscv: compat: signal: Add rt_frame implementation 2022-05-17 16:37:21 -07:00
compat_syscall_table.c riscv: convert to generic syscall table 2024-07-10 14:23:38 +02:00
copy-unaligned.h RISC-V: Report vector unaligned access speed hwprobe 2024-10-18 12:38:34 -07:00
copy-unaligned.S riscv: Use SYM_*() assembly macros instead of deprecated ones 2023-11-06 09:42:47 -08:00
cpu-hotplug.c RISC-V: clear hot-unplugged cores from all task mm_cpumasks to avoid rfence errors 2025-10-09 19:36:45 -06:00
cpu.c RISC-V: Don't print details of CPUs disabled in DT 2025-10-17 22:02:21 -06:00
cpu_ops.c riscv: Use the same CPU operations for all CPUs 2024-01-04 15:03:07 -08:00
cpu_ops_sbi.c riscv: cpu_ops_sbi: Use static array for boot_data 2025-06-30 06:58:11 +00:00
cpu_ops_spinwait.c riscv: prevent pt_regs corruption for secondary idle threads 2024-05-30 09:42:51 -07:00
cpufeature.c riscv: cpufeature: avoid uninitialized variable in has_thead_homogeneous_vlenb() 2025-10-18 09:36:11 -06:00
crash_dump.c vmcore: convert copy_oldmem_page() to take an iov_iter 2022-04-29 14:37:59 -07:00
crash_save_regs.S RISC-V: Fixup get incorrect user mode PC for kernel mode regs 2022-08-11 08:54:40 -07:00
efi-header.S include: pe.h: Fix PE definitions 2025-05-21 16:46:37 +02:00
efi.c riscv: Use accessors to page table entries instead of direct dereference 2023-12-20 10:48:15 -08:00
entry.S riscv: entry: fix typo in comment 'instruciton' -> 'instruction' 2025-10-09 19:36:45 -06:00
fpu.S RISC-V: Replace RISCV_MISALIGNED with RISCV_SCALAR_MISALIGNED 2024-10-18 12:38:32 -07:00
ftrace.c riscv: ftrace: Properly acquire text_mutex to fix a race condition 2025-07-16 08:21:47 -07:00
head.h riscv: entry: Convert to generic entry 2023-03-23 08:47:00 -07:00
head.S RISC-V: KVM: Remove scounteren initialization 2025-05-21 09:34:55 +05:30
hibernate-asm.S riscv: Use SYM_*() assembly macros instead of deprecated ones 2023-11-06 09:42:47 -08:00
hibernate.c riscv: hibernate: remove WARN_ON in save_processor_state 2023-06-23 10:06:22 -07:00
image-vars.h efi: move screen_info into efi init code 2023-10-17 16:33:39 +02:00
irq.c riscv: Helper to parse hart index 2025-06-26 16:06:40 +02:00
jump_label.c riscv: Move nop definition to insn-def.h 2025-03-20 09:14:42 +00:00
kernel_mode_fpu.c riscv: add support for kernel-mode FPU 2024-05-19 14:36:19 -07:00
kernel_mode_vector.c riscv: vector: Support xtheadvector save/restore 2025-01-18 12:33:33 -08:00
kexec_elf.c riscv: kexec: Initialize kexec_buf struct 2025-09-05 15:31:28 -06:00
kexec_image.c riscv: kexec: Initialize kexec_buf struct 2025-09-05 15:31:28 -06:00
kexec_relocate.S riscv: kexec: Cleanup riscv_kexec_relocate 2023-09-20 02:53:29 -07:00
kgdb.c riscv: KGDB: Replace deprecated strcpy in kgdb_arch_handle_qxfer_pkt 2025-10-27 23:30:01 -06:00
machine_kexec.c kexec: Consolidate machine_kexec_mask_interrupts() implementation 2024-12-11 20:32:34 +01:00
machine_kexec_file.c riscv: Strengthen duplicate and inconsistent definition of RV_X() 2025-09-16 16:28:30 -06:00
Makefile kcfi: Rename CONFIG_CFI_CLANG to CONFIG_CFI 2025-09-24 14:29:14 -07:00
Makefile.syscalls syscalls: fix syscall macros for newfstat/newfstatat 2024-08-02 15:20:47 +02:00
mcount-dyn.S riscv: ftrace: support direct call using call_ops 2025-06-05 11:09:31 -07:00
mcount.S riscv: fgraph: Fix stack layout to match __arch_ftrace_regs argument of ftrace_return_to_handler 2025-03-19 12:03:25 +00:00
module-sections.c riscv: Fix memory leak in module_frob_arch_sections() 2025-10-27 11:40:44 -06:00
module.c riscv: module: Fix out-of-bounds relocation access 2025-04-14 13:07:07 +00:00
paravirt.c RISC-V: KVM: Rename the SBI_STA_SHMEM_DISABLE to a generic name 2024-04-22 11:13:52 +05:30
patch.c asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
perf_callchain.c The biggest change here is eliminating the awful idea that KVM had, of 2024-11-23 16:00:50 -08:00
perf_regs.c perf/arch: Remove perf_sample_data::regs_user_copy 2020-11-09 18:12:34 +01:00
process.c arch: copy_thread: pass clone_flags as u64 2025-09-01 15:31:34 +02:00
ptrace.c riscv: ptrace: Use USER_REGSET_NOTE_TYPE() to specify regset note names 2025-07-14 22:27:48 -07:00
reset.c riscv: Use do_kernel_power_off() 2022-05-19 19:30:30 +02:00
return_address.c riscv: add CALLER_ADDRx support 2024-02-22 12:17:47 -08:00
riscv_ksyms.c riscv: Omit optimized string routines when using KASAN 2024-09-19 01:10:00 -07:00
sbi-ipi.c RISC-V: Enable the IPI before workqueue_online_cpu() 2024-08-01 07:15:43 -07:00
sbi.c riscv: sbi: Prefer SRST shutdown over legacy 2025-11-16 10:37:27 -07:00
sbi_ecall.c riscv: Fix RISCV_ALTERNATIVE_EARLY 2024-09-03 07:57:55 -07:00
setup.c riscv: acpi: avoid errors caused by probing DT devices when ACPI is used 2025-10-09 19:36:45 -06:00
signal.c riscv: signal: fix signal frame size 2025-02-14 13:06:44 -08:00
smp.c riscv: Register IPI IRQs with unique names 2025-10-17 22:00:29 -06:00
smpboot.c riscv: print hartid on bringup 2025-04-01 07:03:03 +00:00
soc.c riscv: Fix builtin DTB handling 2021-01-07 19:00:50 -08:00
stacktrace.c riscv: stacktrace: Disable KASAN checks for non-current tasks 2025-10-27 11:40:43 -06:00
suspend.c riscv: Add stimecmp save and restore 2025-03-18 12:59:03 +00:00
suspend_entry.S riscv: Use SYM_*() assembly macros instead of deprecated ones 2023-11-06 09:42:47 -08:00
sys_hwprobe.c riscv: hwprobe: avoid uninitialized variable use in hwprobe_arch_id() 2025-10-18 09:36:36 -06:00
sys_riscv.c riscv: mmap(): use unsigned offset type in riscv_sys_mmap 2025-09-18 08:19:47 -06:00
syscall_table.c riscv: convert to generic syscall table 2024-07-10 14:23:38 +02:00
time.c RISC-V: paravirt: Add skeleton for pv-time support 2023-12-30 11:25:03 +05:30
traps.c riscv: Enable interrupt during exception handling 2025-07-16 09:05:26 -07:00
traps_misaligned.c riscv: Move all duplicate insn parsing macros into asm/insn.h 2025-09-16 16:29:07 -06:00
unaligned_access_speed.c riscv: hwprobe: Fix stale vDSO data for late-initialized keys at boot 2025-10-17 22:23:11 -06:00
vdso.c riscv: enable mseal sysmap for RV64 2025-06-05 14:03:08 -07:00
vec-copy-unaligned.S riscv: Fix the __riscv_copy_vec_words_unaligned implementation 2025-03-18 13:37:27 +00:00
vector.c riscv: Fix typo EXRACT -> EXTRACT 2025-09-16 16:28:02 -06:00
vendor_extensions.c riscv: Add xmipsexectl as a vendor extension 2025-09-18 20:36:00 -06:00
vmcore_info.c riscv: don't export va_kernel_pa_offset in vmcoreinfo for XIP kernel 2024-09-12 07:22:56 -07:00
vmlinux-xip.lds.S riscv: remove limit on the size of read-only section for XIP kernel 2024-09-12 07:23:02 -07:00
vmlinux.lds.S riscv: Add runtime constant support 2025-03-20 09:15:03 +00:00