Home | History | Annotate | Line # | Download | only in avr
      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