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 19#define TYPE_A9MPCORE_PRIV "a9mpcore_priv" 20#define A9MPCORE_PRIV(obj) \ 21 OBJECT_CHECK(A9MPPrivState, (obj), TYPE_A9MPCORE_PRIV) 22 23typedef struct A9MPPrivState { 24 /*< private >*/ 25 SysBusDevice parent_obj; 26 /*< public >*/ 27 28 uint32_t num_cpu; 29 MemoryRegion container; 30 uint32_t num_irq; 31 32 A9SCUState scu; 33 GICState gic; 34 A9GTimerState gtimer; 35 ARMMPTimerState mptimer; 36 ARMMPTimerState wdt; 37} A9MPPrivState; 38 39#endif 40