mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
1d506c26d9
This commit is the result of the following actions: - Running gdb/copyright.py to update all of the copyright headers to include 2024, - Manually updating a few files the copyright.py script told me to update, these files had copyright headers embedded within the file, - Regenerating gdbsupport/Makefile.in to refresh it's copyright date, - Using grep to find other files that still mentioned 2023. If these files were updated last year from 2022 to 2023 then I've updated them this year to 2024. I'm sure I've probably missed some dates. Feel free to fix them up as you spot them.
64 lines
2.3 KiB
C++
64 lines
2.3 KiB
C++
/* Definitions to target GDB to OpenRISC 1000 32-bit targets.
|
|
Copyright (C) 2008-2024 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 OR1K_TDEP_H
|
|
#define OR1K_TDEP_H
|
|
|
|
#ifndef TARGET_OR1K
|
|
#define TARGET_OR1K
|
|
#endif
|
|
|
|
/* Make cgen names unique to prevent ODR conflicts with other targets. */
|
|
#define GDB_CGEN_REMAP_PREFIX or1k
|
|
#include "cgen-remap.h"
|
|
#include "opcodes/or1k-desc.h"
|
|
#include "opcodes/or1k-opc.h"
|
|
|
|
/* General Purpose Registers */
|
|
#define OR1K_ZERO_REGNUM 0
|
|
#define OR1K_SP_REGNUM 1
|
|
#define OR1K_FP_REGNUM 2
|
|
#define OR1K_FIRST_ARG_REGNUM 3
|
|
#define OR1K_LAST_ARG_REGNUM 8
|
|
#define OR1K_LR_REGNUM 9
|
|
#define OR1K_FIRST_SAVED_REGNUM 10
|
|
#define OR1K_RV_REGNUM 11
|
|
#define OR1K_PPC_REGNUM (OR1K_MAX_GPR_REGS + 0)
|
|
#define OR1K_NPC_REGNUM (OR1K_MAX_GPR_REGS + 1)
|
|
#define OR1K_SR_REGNUM (OR1K_MAX_GPR_REGS + 2)
|
|
|
|
/* Properties of the architecture. GDB mapping of registers is all the GPRs
|
|
and SPRs followed by the PPC, NPC and SR at the end. Red zone is the area
|
|
past the end of the stack reserved for exception handlers etc. */
|
|
|
|
#define OR1K_MAX_GPR_REGS 32
|
|
#define OR1K_NUM_PSEUDO_REGS 0
|
|
#define OR1K_NUM_REGS (OR1K_MAX_GPR_REGS + 3)
|
|
#define OR1K_STACK_ALIGN 4
|
|
#define OR1K_INSTLEN 4
|
|
#define OR1K_INSTBITLEN (OR1K_INSTLEN * 8)
|
|
#define OR1K_NUM_TAP_RECORDS 8
|
|
#define OR1K_FRAME_RED_ZONE_SIZE 2536
|
|
|
|
/* Single step based on where the current instruction will take us. */
|
|
extern std::vector<CORE_ADDR> or1k_software_single_step
|
|
(struct regcache *regcache);
|
|
|
|
|
|
#endif /* OR1K_TDEP_H */
|