1 /* 2 * ARM11MPCore internal peripheral emulation. 3 * 4 * Copyright (c) 2006-2007 CodeSourcery. 5 * Written by Paul Brook 6 * 7 * This code is licensed under the GPL. 8 */ 9 10 #ifndef HW_CPU_ARM11MPCORE_H 11 #define HW_CPU_ARM11MPCORE_H 12 13 #include "hw/sysbus.h" 14 #include "hw/misc/arm11scu.h" 15 #include "hw/intc/arm_gic.h" 16 #include "hw/timer/arm_mptimer.h" 17 18 #define TYPE_ARM11MPCORE_PRIV "arm11mpcore_priv" 19 #define ARM11MPCORE_PRIV(obj) \ 20 OBJECT_CHECK(ARM11MPCorePriveState, (obj), TYPE_ARM11MPCORE_PRIV) 21 22 typedef struct ARM11MPCorePriveState { 23 SysBusDevice parent_obj; 24 25 uint32_t num_cpu; 26 MemoryRegion container; 27 uint32_t num_irq; 28 29 ARM11SCUState scu; 30 GICState gic; 31 ARMMPTimerState mptimer; 32 ARMMPTimerState wdtimer; 33 } ARM11MPCorePriveState; 34 35 #endif 36