xref: /qemu/include/hw/cpu/arm11mpcore.h (revision 8063396b)
17b960dc3SAndreas Färber /*
27b960dc3SAndreas Färber  * ARM11MPCore internal peripheral emulation.
37b960dc3SAndreas Färber  *
47b960dc3SAndreas Färber  * Copyright (c) 2006-2007 CodeSourcery.
57b960dc3SAndreas Färber  * Written by Paul Brook
67b960dc3SAndreas Färber  *
77b960dc3SAndreas Färber  * This code is licensed under the GPL.
87b960dc3SAndreas Färber  */
97b960dc3SAndreas Färber 
107b960dc3SAndreas Färber #ifndef HW_CPU_ARM11MPCORE_H
117b960dc3SAndreas Färber #define HW_CPU_ARM11MPCORE_H
127b960dc3SAndreas Färber 
137b960dc3SAndreas Färber #include "hw/sysbus.h"
147b960dc3SAndreas Färber #include "hw/misc/arm11scu.h"
157b960dc3SAndreas Färber #include "hw/intc/arm_gic.h"
167b960dc3SAndreas Färber #include "hw/timer/arm_mptimer.h"
17db1015e9SEduardo Habkost #include "qom/object.h"
187b960dc3SAndreas Färber 
197b960dc3SAndreas Färber #define TYPE_ARM11MPCORE_PRIV "arm11mpcore_priv"
20*8063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(ARM11MPCorePriveState, ARM11MPCORE_PRIV)
217b960dc3SAndreas Färber 
22db1015e9SEduardo Habkost struct ARM11MPCorePriveState {
237b960dc3SAndreas Färber     SysBusDevice parent_obj;
247b960dc3SAndreas Färber 
257b960dc3SAndreas Färber     uint32_t num_cpu;
267b960dc3SAndreas Färber     MemoryRegion container;
277b960dc3SAndreas Färber     uint32_t num_irq;
287b960dc3SAndreas Färber 
297b960dc3SAndreas Färber     ARM11SCUState scu;
307b960dc3SAndreas Färber     GICState gic;
317b960dc3SAndreas Färber     ARMMPTimerState mptimer;
327b960dc3SAndreas Färber     ARMMPTimerState wdtimer;
33db1015e9SEduardo Habkost };
347b960dc3SAndreas Färber 
357b960dc3SAndreas Färber #endif
36