On 2023/07/27 21:28, Ming Wang wrote:
This patch are for Crash-utility tool, it make crash tool support
on
loongarch64 architecture and the common commands(bt, p, rd, mod, log, set,
dis, and so on).
The upstream GDB code supports the loongarch64 architecture from version 13.1.
See:
https://sourceware.org/gdb/download/ANNOUNCEMENT
But Crash-utility depends on gdb-10.2, gdb-10.2 do NOT supported loongarch64.
So we need a patch(gdb-10.2-loongarch.patch) to support it. I don't have a better
way to deal with this problem at the moment.
I have not seen the patch yet, but personally I don't have a plan to
rebase the embedded gdb for now and a rebase work is so hard, so if a
gdb patch works well for LoongArch, probably I will be able to accept it.
Lianbo, do you have any plan to rebase the embedded gdb?
Usually we don't maintain two crash versions, so if we rebase it now,
RHEL9 crash will need a lot of backport efforts or major version
rebasing. I think maybe it's too early.
Thanks,
Kazu
>
> I test this patch on Loongson 3C50000 processor platform.
> ...
> KERNEL:
/usr/lib/debug/lib/modules/5.10.0-60.102.0.128.oe2203.loongarch64/vmlinux
> DUMPFILE: /proc/kcore
> CPUS: 16
> DATE: Thu Jul 27 19:51:21 CST 2023
> UPTIME: 06:35:11
> LOAD AVERAGE: 0.15, 0.03, 0.01
> TASKS: 257
> NODENAME: localhost.localdomain
> RELEASE: 5.10.0-60.102.0.128.oe2203.loongarch64
> VERSION: #1 SMP Fri Jul 14 04:17:09 UTC 2023
> MACHINE: loongarch64 (2200 Mhz)
> MEMORY: 64 GB
> PID: 2964
> COMMAND: "crash"
> TASK: 9000000098805500 [THREAD_INFO: 9000000094d48000]
> CPU: 6
> STATE: TASK_RUNNING (ACTIVE)
> crash>
> crash> dis -l start_kernel
> /linux-5.10.0-60.102.0.128.oe2203.loongarch64/init/main.c: 883
> 0x9000000001030818 <start_kernel>: 0x0141ee40
> /linux-5.10.0-60.102.0.128.oe2203.loongarch64/init/main.c: 879
> 0x900000000103081c <start_kernel+4>: 0x90000000
> /linux-5.10.0-60.102.0.128.oe2203.loongarch64/init/main.c: 883
> 0x9000000001030820 <start_kernel+8>: addu16i.d $zero, $t8,
8179(0x1ff3)
> /linux-5.10.0-60.102.0.128.oe2203.loongarch64/init/main.c: 879
> ...
>
> About the LoongArch64 Architecture:
>
https://www.kernel.org/doc/html/latest/loongarch/index.html
>
> After this RFC, I will split this big patch to many small patchs by function,
> like RISCV64 patch sets.
>
> Ming Wang (1):
> loongarch64: Support loongarch64 architecture and common commands
>
> Makefile | 9 +-
> README | 4 +-
> configure.c | 27 +-
> crash.8 | 2 +-
> defs.h | 161 +-
> diskdump.c | 24 +-
> gdb-10.2-loongarch.patch | 15207 +++++++++++++++++++++++++++++++++++++
> gdb_interface.c | 1 -
> help.c | 9 +-
> lkcd_vmdump_v1.h | 2 +-
> lkcd_vmdump_v2_v3.h | 5 +-
> loongarch64.c | 1347 ++++
> main.c | 3 +-
> netdump.c | 26 +-
> ramdump.c | 2 +
> symbols.c | 26 +-
> 16 files changed, 16832 insertions(+), 23 deletions(-)
> create mode 100644 gdb-10.2-loongarch.patch
> create mode 100644 loongarch64.c
>
>
> base-commit: c74f375e0ef7cd9b593fa1d73c47505822c8f2a0