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 #define RXCPU_CLASS(klass) \ 29 OBJECT_CLASS_CHECK(RXCPUClass, (klass), TYPE_RX_CPU) 30 #define RXCPU(obj) \ 31 OBJECT_CHECK(RXCPU, (obj), TYPE_RX_CPU) 32 #define RXCPU_GET_CLASS(obj) \ 33 OBJECT_GET_CLASS(RXCPUClass, (obj), TYPE_RX_CPU) 34 35 /* 36 * RXCPUClass: 37 * @parent_realize: The parent class' realize handler. 38 * @parent_reset: The parent class' reset handler. 39 * 40 * A RX CPU model. 41 */ 42 typedef struct RXCPUClass { 43 /*< private >*/ 44 CPUClass parent_class; 45 /*< public >*/ 46 47 DeviceRealize parent_realize; 48 DeviceReset parent_reset; 49 } RXCPUClass; 50 51 #define CPUArchState struct CPURXState 52 53 #endif 54