diff options
author | Tiezhu Yang <yangtiezhu@loongson.cn> | 2022-02-11 20:13:21 +0800 |
---|---|---|
committer | Tiezhu Yang <yangtiezhu@loongson.cn> | 2022-02-11 20:13:21 +0800 |
commit | 772d1f343476340874012b80c4c4863dcf98d2e2 (patch) | |
tree | 8c7157c8287a67502e15b08a0125ab15421b897d /gdb/loongarch-tdep.h | |
parent | e74d08100dd3d1c5aee6eb67235465ebed194380 (diff) | |
download | gdb-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.h | 49 |
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 */ |