aboutsummaryrefslogtreecommitdiff
path: root/gdb/loongarch-tdep.h
diff options
context:
space:
mode:
authorTiezhu Yang <yangtiezhu@loongson.cn>2022-02-11 20:13:21 +0800
committerTiezhu Yang <yangtiezhu@loongson.cn>2022-02-11 20:13:21 +0800
commit772d1f343476340874012b80c4c4863dcf98d2e2 (patch)
tree8c7157c8287a67502e15b08a0125ab15421b897d /gdb/loongarch-tdep.h
parente74d08100dd3d1c5aee6eb67235465ebed194380 (diff)
downloadgdb-772d1f343476340874012b80c4c4863dcf98d2e2.zip
gdb-772d1f343476340874012b80c4c4863dcf98d2e2.tar.gz
gdb-772d1f343476340874012b80c4c4863dcf98d2e2.tar.bz2
gdb: LoongArch: Add initial baremetal support
This commit adds initial baremetal support for LoongArch. Signed-off-by: Zhensong Liu <liuzhensong@loongson.cn> Signed-off-by: Qing zhang <zhangqing@loongson.cn> Signed-off-by: Youling Tang <tangyouling@loongson.cn> Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Diffstat (limited to 'gdb/loongarch-tdep.h')
-rw-r--r--gdb/loongarch-tdep.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/gdb/loongarch-tdep.h b/gdb/loongarch-tdep.h
new file mode 100644
index 0000000..b2fd16e
--- /dev/null
+++ b/gdb/loongarch-tdep.h
@@ -0,0 +1,49 @@
+/* Target-dependent header for the LoongArch architecture, for GDB.
+
+ Copyright (C) 2022 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef LOONGARCH_TDEP_H
+#define LOONGARCH_TDEP_H
+
+#include "gdbarch.h"
+#include "arch/loongarch.h"
+#include "regset.h"
+
+#include "elf/loongarch.h"
+#include "opcode/loongarch.h"
+
+/* Register set definitions. */
+extern const struct regset loongarch_gregset;
+
+/* Target-dependent structure in gdbarch. */
+struct loongarch_gdbarch_tdep : gdbarch_tdep
+{
+ /* Features about the abi that impact how the gdbarch is configured. */
+ struct loongarch_gdbarch_features abi_features;
+
+ struct
+ {
+ int r; /* General register. */
+ int ra; /* Return Address. */
+ int sp; /* Stack Pointer. */
+ int pc; /* Program Counter. */
+ int badv; /* Bad vaddr for addressing exception. */
+ } regs; /* LoongArch registers */
+};
+
+#endif /* LOONGARCH_TDEP_H */