xref: /netbsd-src/external/gpl3/gdb/dist/sim/ft32/ft32-sim.h (revision 71f621822dbfd5073a314948bec169b7bb05f7be)
1 /* Simulator for the FT32 processor
2 
3    Copyright (C) 2008-2024 Free Software Foundation, Inc.
4    Contributed by FTDI <support@ftdichip.com>
5 
6    This file is part of simulators.
7 
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 3 of the License, or
11    (at your option) any later version.
12 
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17 
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20 
21 #ifndef _FT32_SIM_H_
22 #define _FT32_SIM_H_
23 
24 #include <stdint.h>
25 
26 #include "sim/sim-ft32.h"
27 
28 #define FT32_HARD_FP 29
29 #define FT32_HARD_CC 30
30 #define FT32_HARD_SP 31
31 
32 struct ft32_cpu_state {
33   uint32_t regs[32];
34   uint32_t pc;
35   uint64_t num_i;
36   uint64_t cycles;
37   uint64_t next_tick_cycle;
38   int pm_unlock;
39   uint32_t pm_addr;
40   int exception;
41 };
42 
43 #define FT32_SIM_CPU(cpu) ((struct ft32_cpu_state *) CPU_ARCH_DATA (cpu))
44 
45 #endif  /* _FT32_SIM_H_ */
46