mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 17:25:38 +00:00
d4a0c4f221
Move arch/csky/util/dwarf-regs.c to util/dwarf-regs-csky.c and compile in unconditionally. To avoid get_arch_regstr being duplicated, rename to get_csky_regstr and add to get_dwarf_regstr switch. Update #ifdefs to allow ABI V1 and V2 tables at the same time. Determine the table from the ELF flags. Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> Signed-off-by: Ian Rogers <irogers@google.com> Cc: Anup Patel <anup@brainfault.org> Cc: Yang Jihong <yangjihong@bytedance.com> Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: David S. Miller <davem@davemloft.net> Cc: Albert Ou <aou@eecs.berkeley.edu> Cc: Shenlin Liang <liangshenlin@eswincomputing.com> Cc: Nick Terrell <terrelln@fb.com> Cc: Guilherme Amadio <amadio@gentoo.org> Cc: Steinar H. Gunderson <sesse@google.com> Cc: Changbin Du <changbin.du@huawei.com> Cc: Alexander Lobakin <aleksander.lobakin@intel.com> Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com> Cc: Huacai Chen <chenhuacai@kernel.org> Cc: Guo Ren <guoren@kernel.org> Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: Will Deacon <will@kernel.org> Cc: James Clark <james.clark@linaro.org> Cc: Mike Leach <mike.leach@linaro.org> Cc: Chen Pei <cp0613@linux.alibaba.com> Cc: Leo Yan <leo.yan@linux.dev> Cc: Oliver Upton <oliver.upton@linux.dev> Cc: Aditya Gupta <adityag@linux.ibm.com> Cc: Kajol Jain <kjain@linux.ibm.com> Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-riscv@lists.infradead.org Cc: Bibo Mao <maobibo@loongson.cn> Cc: John Garry <john.g.garry@oracle.com> Cc: Atish Patra <atishp@rivosinc.com> Cc: Dima Kogan <dima@secretsauce.net> Cc: Paul Walmsley <paul.walmsley@sifive.com> Cc: Dr. David Alan Gilbert <linux@treblig.org> Cc: linux-csky@vger.kernel.org Link: https://lore.kernel.org/r/20241108234606.429459-11-irogers@google.com Signed-off-by: Namhyung Kim <namhyung@kernel.org>
51 lines
1.7 KiB
C
51 lines
1.7 KiB
C
// SPDX-License-Identifier: GPL-2.0
|
|
// Copyright (C) 2019 Hangzhou C-SKY Microsystems co.,ltd.
|
|
// Mapping of DWARF debug register numbers into register names.
|
|
|
|
#include <stddef.h>
|
|
#include <dwarf-regs.h>
|
|
|
|
#define CSKY_ABIV2_MAX_REGS 73
|
|
const char *csky_dwarf_regs_table_abiv2[CSKY_ABIV2_MAX_REGS] = {
|
|
/* r0 ~ r8 */
|
|
"%a0", "%a1", "%a2", "%a3", "%regs0", "%regs1", "%regs2", "%regs3",
|
|
/* r9 ~ r15 */
|
|
"%regs4", "%regs5", "%regs6", "%regs7", "%regs8", "%regs9", "%sp",
|
|
"%lr",
|
|
/* r16 ~ r23 */
|
|
"%exregs0", "%exregs1", "%exregs2", "%exregs3", "%exregs4",
|
|
"%exregs5", "%exregs6", "%exregs7",
|
|
/* r24 ~ r31 */
|
|
"%exregs8", "%exregs9", "%exregs10", "%exregs11", "%exregs12",
|
|
"%exregs13", "%exregs14", "%tls",
|
|
"%pc", NULL, NULL, NULL, "%hi", "%lo", NULL, NULL,
|
|
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
|
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
|
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
|
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
|
"%epc",
|
|
};
|
|
|
|
#define CSKY_ABIV1_MAX_REGS 57
|
|
const char *csky_dwarf_regs_table_abiv1[CSKY_ABIV1_MAX_REGS] = {
|
|
/* r0 ~ r8 */
|
|
"%sp", "%regs9", "%a0", "%a1", "%a2", "%a3", "%regs0", "%regs1",
|
|
/* r9 ~ r15 */
|
|
"%regs2", "%regs3", "%regs4", "%regs5", "%regs6", "%regs7", "%regs8",
|
|
"%lr",
|
|
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
|
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
|
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
|
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
|
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
|
"%epc",
|
|
};
|
|
|
|
const char *get_csky_regstr(unsigned int n, unsigned int flags)
|
|
{
|
|
if (flags & EF_CSKY_ABIV2)
|
|
return (n < CSKY_ABIV2_MAX_REGS) ? csky_dwarf_regs_table_abiv2[n] : NULL;
|
|
|
|
return (n < CSKY_ABIV1_MAX_REGS) ? csky_dwarf_regs_table_abiv1[n] : NULL;
|
|
}
|