1b9e7a234SAndreas Färber /* 2*2d56be5aSPhilippe Mathieu-Daudé * QEMU Motorola 68k CPU QOM header (target agnostic) 3b9e7a234SAndreas Färber * 4b9e7a234SAndreas Färber * Copyright (c) 2012 SUSE LINUX Products GmbH 5b9e7a234SAndreas Färber * 6b9e7a234SAndreas Färber * This library is free software; you can redistribute it and/or 7b9e7a234SAndreas Färber * modify it under the terms of the GNU Lesser General Public 8b9e7a234SAndreas Färber * License as published by the Free Software Foundation; either 9b9e7a234SAndreas Färber * version 2.1 of the License, or (at your option) any later version. 10b9e7a234SAndreas Färber * 11b9e7a234SAndreas Färber * This library is distributed in the hope that it will be useful, 12b9e7a234SAndreas Färber * but WITHOUT ANY WARRANTY; without even the implied warranty of 13b9e7a234SAndreas Färber * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14b9e7a234SAndreas Färber * Lesser General Public License for more details. 15b9e7a234SAndreas Färber * 16b9e7a234SAndreas Färber * You should have received a copy of the GNU Lesser General Public 17b9e7a234SAndreas Färber * License along with this library; if not, see 18b9e7a234SAndreas Färber * <http://www.gnu.org/licenses/lgpl-2.1.html> 19b9e7a234SAndreas Färber */ 20b9e7a234SAndreas Färber #ifndef QEMU_M68K_CPU_QOM_H 21b9e7a234SAndreas Färber #define QEMU_M68K_CPU_QOM_H 22b9e7a234SAndreas Färber 232e5b09fdSMarkus Armbruster #include "hw/core/cpu.h" 24db1015e9SEduardo Habkost #include "qom/object.h" 25b9e7a234SAndreas Färber 26b9e7a234SAndreas Färber #define TYPE_M68K_CPU "m68k-cpu" 27b9e7a234SAndreas Färber 289295b1aaSPhilippe Mathieu-Daudé OBJECT_DECLARE_CPU_TYPE(M68kCPU, M68kCPUClass, M68K_CPU) 29b9e7a234SAndreas Färber 30*2d56be5aSPhilippe Mathieu-Daudé #define M68K_CPU_TYPE_SUFFIX "-" TYPE_M68K_CPU 31*2d56be5aSPhilippe Mathieu-Daudé #define M68K_CPU_TYPE_NAME(model) model M68K_CPU_TYPE_SUFFIX 32*2d56be5aSPhilippe Mathieu-Daudé 33808d77bcSLucien Murray-Pitts /* 34b9e7a234SAndreas Färber * M68kCPUClass: 356d1bbc62SAndreas Färber * @parent_realize: The parent class' realize handler. 36bf90b345SPeter Maydell * @parent_phases: The parent class' reset phase handlers. 37b9e7a234SAndreas Färber * 38b9e7a234SAndreas Färber * A Motorola 68k CPU model. 39b9e7a234SAndreas Färber */ 40db1015e9SEduardo Habkost struct M68kCPUClass { 41b9e7a234SAndreas Färber CPUClass parent_class; 42b9e7a234SAndreas Färber 436d1bbc62SAndreas Färber DeviceRealize parent_realize; 44bf90b345SPeter Maydell ResettablePhases parent_phases; 45db1015e9SEduardo Habkost }; 46b9e7a234SAndreas Färber 4700f3fd63SRichard Henderson 48b9e7a234SAndreas Färber #endif 49