xref: /netbsd-src/external/gpl3/gdb/dist/sim/avr/avr-sim.h (revision 88241920d21b339bf319c0e979ffda80c49a2936)
1 /* AVR Simulator definition.
2    Copyright (C) 2009-2024 Free Software Foundation, Inc.
3 
4 This file is part of the GNU simulators.
5 
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
10 
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15 
16 You should have received a copy of the GNU General Public License
17 along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
18 
19 #ifndef AVR_SIM_H
20 #define AVR_SIM_H
21 
22 #include <stdint.h>
23 
24 struct avr_sim_cpu {
25   /* The only real register.  */
26   uint32_t pc;
27 
28   /* We update a cycle counter.  */
29   uint32_t cycles;
30 };
31 
32 #define AVR_SIM_CPU(cpu) ((struct avr_sim_cpu *) CPU_ARCH_DATA (cpu))
33 
34 struct avr_sim_state {
35   /* If true, the pc needs more than 2 bytes.  */
36   int avr_pc22;
37 };
38 
39 #define AVR_SIM_STATE(sd) ((struct avr_sim_state *) STATE_ARCH_DATA (sd))
40 
41 #endif
42