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