1 /* Simulator CPU header for lm32. 2 3 THIS FILE IS MACHINE GENERATED WITH CGEN. 4 5 Copyright (C) 1996-2024 Free Software Foundation, Inc. 6 7 This file is part of the GNU simulators. 8 9 This file is free software; you can redistribute it and/or modify 10 it under the terms of the GNU General Public License as published by 11 the Free Software Foundation; either version 3, or (at your option) 12 any later version. 13 14 It is distributed in the hope that it will be useful, but WITHOUT 15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 17 License for more details. 18 19 You should have received a copy of the GNU General Public License along 20 with this program; if not, write to the Free Software Foundation, Inc., 21 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 22 23 */ 24 25 #ifndef LM32_CPUALL_H 26 #define LM32_CPUALL_H 27 28 /* Include files for each cpu family. */ 29 30 #ifdef WANT_CPU_LM32BF 31 #include "eng.h" 32 #include "cpu.h" 33 #include "decode.h" 34 #endif 35 36 extern const SIM_MACH lm32_mach; 37 38 #ifndef WANT_CPU 39 /* The ARGBUF struct. */ 40 struct argbuf { 41 /* These are the baseclass definitions. */ 42 IADDR addr; 43 const IDESC *idesc; 44 char trace_p; 45 char profile_p; 46 /* ??? Temporary hack for skip insns. */ 47 char skip_count; 48 char unused; 49 /* cpu specific data follows */ 50 }; 51 #endif 52 53 #ifndef WANT_CPU 54 /* A cached insn. 55 56 ??? SCACHE used to contain more than just argbuf. We could delete the 57 type entirely and always just use ARGBUF, but for future concerns and as 58 a level of abstraction it is left in. */ 59 60 struct scache { 61 struct argbuf argbuf; 62 }; 63 #endif 64 65 #endif /* LM32_CPUALL_H */ 66