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