1 /* 2 * RX CPU 3 * 4 * Copyright (c) 2019 Yoshinori Sato 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms and conditions of the GNU General Public License, 8 * version 2 or later, as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope it will be useful, but WITHOUT 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 13 * more details. 14 * 15 * You should have received a copy of the GNU General Public License along with 16 * this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 #ifndef RX_CPU_QOM_H 20 #define RX_CPU_QOM_H 21 22 #include "hw/core/cpu.h" 23 24 #define TYPE_RX_CPU "rx-cpu" 25 26 #define TYPE_RX62N_CPU RX_CPU_TYPE_NAME("rx62n") 27 28 typedef struct RXCPU RXCPU; 29 #define RX_CPU_CLASS(klass) \ 30 OBJECT_CLASS_CHECK(RXCPUClass, (klass), TYPE_RX_CPU) 31 #define RX_CPU(obj) \ 32 OBJECT_CHECK(RXCPU, (obj), TYPE_RX_CPU) 33 #define RX_CPU_GET_CLASS(obj) \ 34 OBJECT_GET_CLASS(RXCPUClass, (obj), TYPE_RX_CPU) 35 36 /* 37 * RXCPUClass: 38 * @parent_realize: The parent class' realize handler. 39 * @parent_reset: The parent class' reset handler. 40 * 41 * A RX CPU model. 42 */ 43 typedef struct RXCPUClass { 44 /*< private >*/ 45 CPUClass parent_class; 46 /*< public >*/ 47 48 DeviceRealize parent_realize; 49 DeviceReset parent_reset; 50 } RXCPUClass; 51 52 #define CPUArchState struct CPURXState 53 54 #endif 55