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