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