xref: /openbmc/qemu/target/tricore/cpu-qom.h (revision 2e5b09fd)
1fcf5ef2aSThomas Huth /*
2fcf5ef2aSThomas Huth  *  Copyright (c) 2012-2014 Bastian Koppelmann C-Lab/University Paderborn
3fcf5ef2aSThomas Huth  *
4fcf5ef2aSThomas Huth  * This library is free software; you can redistribute it and/or
5fcf5ef2aSThomas Huth  * modify it under the terms of the GNU Lesser General Public
6fcf5ef2aSThomas Huth  * License as published by the Free Software Foundation; either
702754acdSThomas Huth  * version 2.1 of the License, or (at your option) any later version.
8fcf5ef2aSThomas Huth  *
9fcf5ef2aSThomas Huth  * This library is distributed in the hope that it will be useful,
10fcf5ef2aSThomas Huth  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11fcf5ef2aSThomas Huth  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12fcf5ef2aSThomas Huth  * Lesser General Public License for more details.
13fcf5ef2aSThomas Huth  *
14fcf5ef2aSThomas Huth  * You should have received a copy of the GNU Lesser General Public
15fcf5ef2aSThomas Huth  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
16fcf5ef2aSThomas Huth  */
17fcf5ef2aSThomas Huth 
18fcf5ef2aSThomas Huth #ifndef QEMU_TRICORE_CPU_QOM_H
19fcf5ef2aSThomas Huth #define QEMU_TRICORE_CPU_QOM_H
20fcf5ef2aSThomas Huth 
21*2e5b09fdSMarkus Armbruster #include "hw/core/cpu.h"
22fcf5ef2aSThomas Huth 
23fcf5ef2aSThomas Huth 
24fcf5ef2aSThomas Huth #define TYPE_TRICORE_CPU "tricore-cpu"
25fcf5ef2aSThomas Huth 
26fcf5ef2aSThomas Huth #define TRICORE_CPU_CLASS(klass) \
27fcf5ef2aSThomas Huth     OBJECT_CLASS_CHECK(TriCoreCPUClass, (klass), TYPE_TRICORE_CPU)
28fcf5ef2aSThomas Huth #define TRICORE_CPU(obj) \
29fcf5ef2aSThomas Huth     OBJECT_CHECK(TriCoreCPU, (obj), TYPE_TRICORE_CPU)
30fcf5ef2aSThomas Huth #define TRICORE_CPU_GET_CLASS(obj) \
31fcf5ef2aSThomas Huth     OBJECT_GET_CLASS(TriCoreCPUClass, (obj), TYPE_TRICORE_CPU)
32fcf5ef2aSThomas Huth 
33fcf5ef2aSThomas Huth typedef struct TriCoreCPUClass {
34fcf5ef2aSThomas Huth     /*< private >*/
35fcf5ef2aSThomas Huth     CPUClass parent_class;
36fcf5ef2aSThomas Huth     /*< public >*/
37fcf5ef2aSThomas Huth 
38fcf5ef2aSThomas Huth     DeviceRealize parent_realize;
39fcf5ef2aSThomas Huth     void (*parent_reset)(CPUState *cpu);
40fcf5ef2aSThomas Huth } TriCoreCPUClass;
41fcf5ef2aSThomas Huth 
42fcf5ef2aSThomas Huth typedef struct TriCoreCPU TriCoreCPU;
43fcf5ef2aSThomas Huth 
44fcf5ef2aSThomas Huth #endif /* QEMU_TRICORE_CPU_QOM_H */
45