linux/arch/riscv/include/asm
Samuel Holland fa7d733901
riscv: Do not save the scratch CSR during suspend
While the processor is executing kernel code, the value of the scratch
CSR is always zero, so there is no need to save the value. Continue to
write the CSR during the resume flow, so we do not rely on firmware to
initialize it.

Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Link: https://lore.kernel.org/r/20240312195641.1830521-1-samuel.holland@sifive.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-04-28 14:50:36 -07:00
..
vdso riscv: Using TOOLCHAIN_HAS_ZIHINTPAUSE marco replace zihintpause 2023-10-31 19:15:54 -07:00
acenv.h RISC-V: Add support to build the ACPI core 2023-06-01 08:45:01 -07:00
acpi.h RISC-V: ACPI: RHCT: Add function to get CBO block sizes 2023-10-26 09:40:33 -07:00
alternative-macros.h riscv: alternatives: fix a typo in comment 2023-08-02 13:49:07 -07:00
alternative.h Merge patch series "Add non-coherent DMA support for AX45MP" 2023-09-08 11:24:34 -07:00
arch_hweight.h work around gcc bugs with 'asm goto' with outputs 2024-02-09 15:57:48 -08:00
archrandom.h RISC-V: Implement archrandom when Zkr is available 2024-01-17 18:20:49 -08:00
asm-extable.h riscv: select DCACHE_WORD_ACCESS for efficient unaligned access HW 2024-01-09 20:18:20 -08:00
asm-offsets.h
asm-prototypes.h riscv: vector: allow kernel-mode Vector with preemption 2024-01-16 07:14:02 -08:00
asm.h riscv: blacklist assembly symbols for kprobe 2024-01-24 15:59:42 -08:00
assembler.h RISC-V: Add arch functions to support hibernation/suspend-to-disk 2023-04-29 11:25:13 -07:00
atomic.h Merge patch series "Rework & improve riscv cmpxchg.h and atomic.h" 2024-04-28 14:50:33 -07:00
barrier.h riscv/barrier: Add missing space after ',' 2024-03-19 18:52:25 -07:00
bitops.h RISC-V Patches for the 6.9 Merge Window 2024-03-22 10:41:13 -07:00
bug.h bug: Use normal relative pointers in 'struct bug_entry' 2022-05-19 23:46:10 +02:00
cache.h riscv: allow kmalloc() caches aligned to the smallest value 2023-08-23 14:22:00 -07:00
cacheflush.h RISC-V: only flush icache when it has VM_EXEC set 2024-03-27 07:29:27 -07:00
cacheinfo.h
cfi.h bpf, riscv64/cfi: Support kCFI + BPF on riscv64 2024-03-06 15:18:16 -08:00
checksum.h work around gcc bugs with 'asm goto' with outputs 2024-02-09 15:57:48 -08:00
clint.h
clocksource.h
cmpxchg.h Merge patch series "Rework & improve riscv cmpxchg.h and atomic.h" 2024-04-28 14:50:33 -07:00
compat.h riscv: Introduce set_compat_task() in asm/compat.h 2024-03-19 16:39:40 -07:00
cpu_ops_sbi.h riscv: ensure cpu_ops_sbi is declared 2022-08-11 13:46:51 -07:00
cpu_ops.h riscv: Use the same CPU operations for all CPUs 2024-01-04 15:03:07 -08:00
cpu.h RISC-V: Add support to build the ACPI core 2023-06-01 08:45:01 -07:00
cpufeature.h RISC-V Patches for the 6.9 Merge Window 2024-03-22 10:41:13 -07:00
cpuidle.h RISC-V: Enable CPU_IDLE drivers 2022-03-10 09:29:21 -08:00
crash_reserve.h kexec: split crashkernel reservation code out from crash_core.c 2024-02-23 17:48:21 -08:00
csr.h riscv: Fix enabling cbo.zero when running in M-mode 2024-02-29 10:20:16 -08:00
current.h riscv: Rename "sp_in_global" to "current_stack_pointer" 2022-03-30 15:15:27 -07:00
delay.h
dma-noncoherent.h riscv: mm: dma-noncoherent: nonstandard cache operations support 2023-09-01 09:08:57 -07:00
efi.h Merge patch series "riscv: Introduce KASLR" 2023-09-08 11:25:13 -07:00
elf.h riscv: Introduce set_compat_task() in asm/compat.h 2024-03-19 16:39:40 -07:00
entry-common.h riscv: vector: do not pass task_struct into riscv_v_vstate_{save,restore}() 2024-01-16 07:13:59 -08:00
errata_list.h perf: RISC-V: Introduce Andes PMU to support perf event sampling 2024-03-12 07:13:16 -07:00
extable.h riscv: mm: stub extable related functions/macros for !MMU 2023-06-14 07:17:45 -07:00
fence.h riscv/barrier: Consolidate fence definitions 2024-03-19 18:52:24 -07:00
fixmap.h riscv: Move early dtb mapping into the fixmap region 2023-04-13 18:14:26 -07:00
ftrace.h - Kuan-Wei Chiu has developed the well-named series "lib min_heap: Min 2024-03-14 18:03:09 -07:00
futex.h riscv: extable: add a dedicated uaccess handler 2022-01-05 17:53:29 -08:00
gdb_xml.h
gpr-num.h riscv: Add X register names to gpr-nums 2022-10-02 10:17:58 +05:30
hugetlb.h riscv: Fix build error if !CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION 2024-02-22 12:28:25 -08:00
hwcap.h RISC-V Patches for the 6.9 Merge Window 2024-03-22 10:41:13 -07:00
hwprobe.h RISC-V: hwprobe: Introduce which-cpus flag 2024-01-03 03:36:49 -08:00
image.h
insn-def.h RISC-V: capitalise CMO op macros 2023-11-05 09:11:23 -08:00
insn.h RISC-V Patches for the 6.6 Merge Window, Part 1 2023-09-01 08:09:48 -07:00
io.h riscv/barrier: Consolidate fence definitions 2024-03-19 18:52:24 -07:00
irq_stack.h riscv: Deduplicate IRQ stack switching 2023-10-27 14:43:06 -07:00
irq_work.h arch: consolidate arch_irq_work_raise prototypes 2023-11-23 11:32:29 +01:00
irq.h init: consolidate prototypes in linux/init.h 2023-06-09 17:44:16 -07:00
irqflags.h
jump_label.h work around gcc bugs with 'asm goto' with outputs 2024-02-09 15:57:48 -08:00
kasan.h riscv: Implement sv48 support 2022-01-19 17:54:09 -08:00
Kbuild RISC-V: Move to queued RW locks 2022-05-11 11:50:10 -07:00
kdebug.h
kexec.h RISC-V: kexec: Fix memory leak of fdt buffer 2022-12-05 10:59:51 -08:00
kfence.h riscv: Use accessors to page table entries instead of direct dereference 2023-12-20 10:48:15 -08:00
kgdb.h
kprobes.h riscv: Only consider swbp/ss handlers for correct privileged mode 2023-09-20 06:45:27 -07:00
kvm_aia_aplic.h RISC-V: KVM: Add APLIC related defines 2023-06-18 21:24:36 +05:30
kvm_aia_imsic.h RISC-V: KVM: Add IMSIC related defines 2023-06-18 21:24:34 +05:30
kvm_aia.h RISC-V: KVM: Expose IMSIC registers as attributes of AIA irqchip 2023-06-19 22:27:58 +05:30
kvm_host.h KVM/riscv changes for 6.8 part #1 2024-01-02 13:19:40 -05:00
kvm_types.h KVM: RISC-V: Use common KVM implementation of MMU memory caches 2022-01-06 14:38:50 +05:30
kvm_vcpu_fp.h RISC-V: KVM: Improve ISA extension by using a bitmap 2022-07-29 17:14:11 +05:30
kvm_vcpu_insn.h RISC-V: KVM: Add extensible CSR emulation framework 2022-07-29 17:14:53 +05:30
kvm_vcpu_pmu.h RISC-V: KVM: Support firmware events 2023-02-07 20:36:06 +05:30
kvm_vcpu_sbi.h RISC-V: KVM: Add support for SBI STA registers 2023-12-30 11:26:35 +05:30
kvm_vcpu_timer.h RISC-V: KVM: Fix kvm_riscv_vcpu_timer_pending() for Sstc 2022-10-21 11:52:45 +05:30
kvm_vcpu_vector.h RISC-V: KVM: Improve vector save/restore functions 2023-08-08 17:26:05 +05:30
linkage.h
membarrier.h membarrier: riscv: Provide core serializing command 2024-02-15 08:04:14 -08:00
mmio.h riscv/barrier: Consolidate fence definitions 2024-03-19 18:52:24 -07:00
mmiowb.h riscv/barrier: Consolidate fence definitions 2024-03-19 18:52:24 -07:00
mmu_context.h riscv: add ASID-based tlbflushing methods 2021-06-30 20:55:39 -07:00
mmu.h riscv: support the elf-fdpic binfmt loader 2023-08-23 14:17:43 -07:00
mmzone.h riscv: Add numa support for riscv64 platform 2021-01-14 15:08:58 -08:00
module.h riscv: module: move find_section to module.h 2023-01-31 23:29:39 -08:00
module.lds.h riscv module: remove (NOLOAD) 2022-03-29 14:31:07 -07:00
numa.h riscv: Add numa support for riscv64 platform 2021-01-14 15:08:58 -08:00
page.h Merge patch series "riscv: 64-bit NOMMU fixes and enhancements" 2024-04-28 14:50:35 -07:00
paravirt_api_clock.h RISC-V: paravirt: Add skeleton for pv-time support 2023-12-30 11:25:03 +05:30
paravirt.h RISC-V: paravirt: Add skeleton for pv-time support 2023-12-30 11:25:03 +05:30
patch.h riscv: implement a memset like function for text 2023-09-06 06:26:06 -07:00
pci.h RISC-V Patches for the 5.20 Merge Window, Part 1 2022-08-06 15:04:48 -07:00
perf_event.h riscv: perf: Fix callchain parse error with kernel tracepoint events 2023-06-01 10:09:22 -07:00
pgalloc.h riscv: enable MMU_GATHER_RCU_TABLE_FREE for SMP && MMU 2024-01-24 15:55:55 -08:00
pgtable-32.h RISC-V: Provide pgtable_l5_enabled on rv32 2023-10-31 19:15:50 -07:00
pgtable-64.h - Sumanth Korikkar has taught s390 to allocate hotplug-time page frames 2024-03-14 17:43:30 -07:00
pgtable-bits.h riscv: Improve PTDUMP to show RSW with non-zero value 2023-11-05 09:41:53 -08:00
pgtable.h Merge patch series "riscv: 64-bit NOMMU fixes and enhancements" 2024-04-28 14:50:35 -07:00
probes.h riscv: Add kprobes supported 2021-01-14 15:09:06 -08:00
processor.h Merge patch series "riscv: Introduce compat-mode helpers & improve arch_get_mmap_end()" 2024-03-20 08:56:05 -07:00
ptrace.h riscv: entry: Convert to generic entry 2023-03-23 08:47:00 -07:00
sbi.h RISC-V Patches for the 6.8 Merge Window, Part 4 2024-01-20 11:06:04 -08:00
scs.h riscv: Use separate IRQ shadow call stacks 2023-10-27 14:43:09 -07:00
seccomp.h riscv: Enable seccomp architecture tracking 2020-11-20 11:16:35 -08:00
sections.h riscv: Check if the code to patch lies in the exit section 2024-01-09 10:58:59 -08:00
semihost.h riscv: Implement semihost.h for earlycon semihost driver 2023-01-19 14:58:19 +01:00
set_memory.h riscv: Prepare EFI header for relocatable kernels 2023-04-19 07:46:28 -07:00
signal32.h riscv: compat: signal: Add rt_frame implementation 2022-05-17 16:37:21 -07:00
simd.h riscv: vector: Fix a typo of preempt_v 2024-03-15 10:17:38 -07:00
smp.h riscv: Switch to hotplug core state synchronization 2023-05-15 13:44:59 +02:00
soc.h riscv: Fix builtin DTB handling 2021-01-07 19:00:50 -08:00
sparsemem.h riscv: Allow to dynamically define VA_BITS 2022-01-19 17:54:07 -08:00
stackprotector.h stackprotector: actually use get_random_canary() 2022-11-18 02:18:10 +01:00
stacktrace.h riscv: declare overflow_stack as exported from traps.c 2024-02-07 09:55:27 -08:00
string.h RISC-V: add infrastructure to allow different str* implementations 2023-01-31 11:43:23 -08:00
suspend.h riscv: Do not save the scratch CSR during suspend 2024-04-28 14:50:36 -07:00
switch_to.h riscv: fpu: drop SR_SD bit checking 2024-01-16 07:13:58 -08:00
sync_core.h membarrier: riscv: Provide core serializing command 2024-02-15 08:04:14 -08:00
syscall_wrapper.h riscv: Fix syscall wrapper for >word-size arguments 2024-03-20 11:37:51 -07:00
syscall.h riscv: Implement syscall wrappers 2023-08-23 14:16:36 -07:00
thread_info.h Merge patch series "riscv: support kernel-mode Vector" 2024-01-16 07:14:04 -08:00
timex.h init: consolidate prototypes in linux/init.h 2023-06-09 17:44:16 -07:00
tlb.h RISC-V Patches for the 6.9 Merge Window 2024-03-22 10:41:13 -07:00
tlbbatch.h riscv: Add support for BATCHED_UNMAP_TLB_FLUSH 2024-01-11 08:01:53 -08:00
tlbflush.h riscv: mm: execute local TLB flush after populating vmemmap 2024-01-31 12:37:26 -08:00
topology.h sched/topology: Add a new arch_scale_freq_ref() method 2023-12-23 15:52:34 +01:00
uaccess.h riscv: uaccess: fix type of 0 variable on error in get_user() 2023-01-05 12:30:41 -08:00
unistd.h riscv: Wire up memfd_secret in UAPI header 2022-06-01 21:46:36 -07:00
uprobes.h riscv: Only consider swbp/ss handlers for correct privileged mode 2023-09-20 06:45:27 -07:00
vdso.h riscv: alternative: patch alternatives in the vDSO 2023-01-31 23:29:42 -08:00
vector.h RISC-V: add helper function to read the vector VLEN 2024-01-22 17:55:15 -08:00
vendorid_list.h riscv: errata: Rename defines for Andes 2024-03-12 07:13:12 -07:00
vermagic.h
vmalloc.h Revert "riscv: mm: support Svnapot in huge vmap" 2024-02-29 10:21:22 -08:00
word-at-a-time.h kernel.h: removed REPEAT_BYTE from kernel.h 2024-02-01 09:47:59 -08:00
xip_fixup.h riscv: Fixed wrong register in XIP_FIXUP_FLASH_OFFSET macro 2024-01-09 19:33:21 -08:00
xor.h riscv: Add vector extension XOR implementation 2024-01-16 07:13:55 -08:00