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