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