1 /* 2 * Cortex-A9MPCore internal peripheral emulation. 3 * 4 * Copyright (c) 2009 CodeSourcery. 5 * Copyright (c) 2011 Linaro Limited. 6 * Written by Paul Brook, Peter Maydell. 7 * 8 * This code is licensed under the GPL. 9 */ 10 #ifndef HW_CPU_A9MPCORE_H 11 #define HW_CPU_A9MPCORE_H 12 13 #include "hw/sysbus.h" 14 #include "hw/intc/arm_gic.h" 15 #include "hw/misc/a9scu.h" 16 #include "hw/timer/arm_mptimer.h" 17 #include "hw/timer/a9gtimer.h" 18 #include "qom/object.h" 19 20 #define TYPE_A9MPCORE_PRIV "a9mpcore_priv" 21 typedef struct A9MPPrivState A9MPPrivState; 22 DECLARE_INSTANCE_CHECKER(A9MPPrivState, A9MPCORE_PRIV, 23 TYPE_A9MPCORE_PRIV) 24 25 struct A9MPPrivState { 26 /*< private >*/ 27 SysBusDevice parent_obj; 28 /*< public >*/ 29 30 uint32_t num_cpu; 31 MemoryRegion container; 32 uint32_t num_irq; 33 34 A9SCUState scu; 35 GICState gic; 36 A9GTimerState gtimer; 37 ARMMPTimerState mptimer; 38 ARMMPTimerState wdt; 39 }; 40 41 #endif 42