linux/arch/riscv/kernel
Paul Walmsley 2e8656176c riscv: kgdb: fix several debug register assignment bugs
[ Upstream commit 834911eb8e ]

Fix several bugs in the RISC-V kgdb implementation:

- The element of dbg_reg_def[] that is supposed to pertain to the S1
  register embeds instead the struct pt_regs offset of the A1
  register.  Fix this to use the S1 register offset in struct pt_regs.

- The sleeping_thread_to_gdb_regs() function copies the value of the
  S10 register into the gdb_regs[] array element meant for the S9
  register, and copies the value of the S11 register into the array
  element meant for the S10 register.  It also neglects to copy the
  value of the S11 register.  Fix all of these issues.

Fixes: fe89bd2be8 ("riscv: Add KGDB support")
Cc: Vincent Chen <vincent.chen@sifive.com>
Link: https://patch.msgid.link/fde376f8-bcfd-bfe4-e467-07d8f7608d05@kernel.org
Signed-off-by: Paul Walmsley <pjw@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2026-04-18 10:33:31 +02:00
..
probes riscv: uprobes: Add missing fence.i after building the XOL buffer 2026-02-11 13:35:33 +01:00
vdso riscv: vdso: Prevent the compiler from inserting calls to memset() 2024-11-08 16:25:54 +01:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
asm-offsets.c riscv: Remove unused GENERATING_ASM_OFFSETS 2024-11-08 16:25:55 +01:00
cacheinfo.c drivers: base: cacheinfo: Get rid of DEFINE_SMP_CALL_CACHE_FUNCTION() 2021-09-01 10:29:10 +02:00
cpu-hotplug.c RISC-V: clear hot-unplugged cores from all task mm_cpumasks to avoid rfence errors 2025-12-07 06:09:27 +09:00
cpu.c RISC-V: Rename and move plic_find_hart_id() to arch directory 2020-06-09 19:11:20 -07:00
cpu_ops.c treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
cpu_ops_sbi.c RISC-V: Support cpu hotplug 2020-03-31 11:28:30 -07:00
cpu_ops_spinwait.c RISC-V: Add cpu_ops and modify default booting method 2020-03-31 11:25:56 -07:00
cpufeature.c riscv: Add __init section marker to some functions again 2021-05-29 13:39:27 -07:00
crash_dump.c RISC-V: Add crash kernel support 2021-04-26 08:25:24 -07:00
crash_save_regs.S RISC-V: Fixup get incorrect user mode PC for kernel mode regs 2022-08-17 14:22:52 +02:00
efi-header.S riscv: efi: Set NX compat flag in PE/COFF header 2024-11-08 16:25:55 +01:00
efi.c riscv: read-only pages should not be writable 2022-06-14 18:36:11 +02:00
entry.S riscv: stacktrace: Make walk_stackframe cross pt_regs frame 2024-06-16 13:39:47 +02:00
fpu.S riscv: abstract out CSR names for supervisor vs machine mode 2019-11-05 09:20:42 -08:00
ftrace.c RISC-V: Don't check text_mutex during stop_machine 2023-03-17 08:48:57 +01:00
head.h RISC-V: enable XIP 2021-04-26 08:31:28 -07:00
head.S riscv: set trap vector earlier 2024-09-12 11:07:49 +02:00
image-vars.h arch/riscv:fix typo in a comment in arch/riscv/kernel/image-vars.h 2021-02-18 23:18:00 -08:00
irq.c RISC-V: Remove do_IRQ() function 2020-06-09 19:11:24 -07:00
jump_label.c riscv: Add jump-label implementation 2020-07-30 11:37:43 -07:00
kexec_relocate.S riscv: Don't use va_pa_offset on kdump 2022-01-27 11:02:50 +01:00
kgdb.c riscv: kgdb: fix several debug register assignment bugs 2026-04-18 10:33:31 +02:00
machine_kexec.c riscv: kexec: Avoid deadlock in kexec crash path 2024-07-18 13:07:31 +02:00
Makefile riscv: fix oops caused by irqsoff latency tracer 2022-03-02 11:48:08 +01:00
mcount-dyn.S riscv: ftrace: Reduce the detour code size to half 2023-03-10 09:40:12 +01:00
mcount.S riscv: Workaround mcount name prior to clang-13 2021-04-26 08:25:01 -07:00
module-sections.c riscv: add missing header file includes 2019-10-28 00:46:01 -07:00
module.c riscv: Fix module_alloc() that did not reset the linear mapping permissions 2024-01-25 14:52:50 -08:00
patch.c riscv: Check if the code to patch lies in the exit section 2024-01-25 14:52:50 -08:00
perf_callchain.c riscv: Fix fp alignment bug in perf_callchain_user() 2024-10-17 15:11:03 +02:00
perf_event.c riscv: perf_event: Make some funciton static 2020-05-11 13:48:19 -07:00
perf_regs.c perf/arch: Remove perf_sample_data::regs_user_copy 2020-11-09 18:12:34 +01:00
process.c riscv: process: Fix kernel gp leakage 2024-04-10 16:19:42 +02:00
ptrace.c riscv: Ensure the value of FP registers in the core dump file is up to date 2021-08-24 20:54:10 -07:00
reset.c riscv: set default pm_power_off to NULL 2022-08-17 14:22:49 +02:00
riscv_ksyms.c riscv: provide memmove implementation 2020-12-10 17:27:54 -08:00
sbi.c RISC-V Patches for the 5.13 Merge Window, Part 1 2021-05-06 09:24:18 -07:00
setup.c riscv: Properly export reserved regions in /proc/iomem 2025-05-02 07:44:11 +02:00
signal.c riscv: add icache flush for nommu sigreturn trampoline 2023-04-20 12:13:55 +02:00
smp.c RISC-V: Use common riscv_cpuid_to_hartid_mask() for both SMP=y and SMP=n 2022-01-27 11:02:50 +01:00
smpboot.c riscv: topology: fix default topology reporting 2022-10-26 12:34:22 +02:00
soc.c riscv: Fix builtin DTB handling 2021-01-07 19:00:50 -08:00
stacktrace.c sched: Add wrapper for get_wchan() to keep task blocked 2025-08-28 16:24:03 +02:00
sys_riscv.c riscv: Allow PROT_WRITE-only mmap() 2022-10-26 12:34:22 +02:00
syscall_table.c riscv/vdso: Refactor asm/vdso.h 2021-10-02 13:42:23 -07:00
time.c RISC-V: time: initialize hrtimer based broadcast clock event device 2023-03-10 09:39:16 +01:00
trace_irq.c riscv: fix oops caused by irqsoff latency tracer 2022-03-02 11:48:08 +01:00
trace_irq.h riscv: fix oops caused by irqsoff latency tracer 2022-03-02 11:48:08 +01:00
traps.c riscv: Fix sleeping in invalid context in die() 2025-01-23 17:15:52 +01:00
traps_misaligned.c riscv: Remove duplicated GET_RM 2024-11-08 16:25:55 +01:00
vdso.c riscv/vdso: make arch_setup_additional_pages wait for mmap_sem for write killable 2021-10-02 13:42:26 -07:00
vmlinux-xip.lds.S riscv: Check if the code to patch lies in the exit section 2024-01-25 14:52:50 -08:00
vmlinux.lds.S riscv: Check if the code to patch lies in the exit section 2024-01-25 14:52:50 -08:00