| /* |
| * Cortex-A9MPCore internal peripheral emulation. |
| * |
| * Copyright (c) 2009 CodeSourcery. |
| * Copyright (c) 2011 Linaro Limited. |
| * Written by Paul Brook, Peter Maydell. |
| * |
| * This code is licensed under the GPL. |
| */ |
| #ifndef HW_CPU_A9MPCORE_H |
| #define HW_CPU_A9MPCORE_H |
| |
| #include "hw/sysbus.h" |
| #include "hw/intc/arm_gic.h" |
| #include "hw/misc/a9scu.h" |
| #include "hw/timer/arm_mptimer.h" |
| #include "hw/timer/a9gtimer.h" |
| #include "qom/object.h" |
| |
| #define TYPE_A9MPCORE_PRIV "a9mpcore_priv" |
| typedef struct A9MPPrivState A9MPPrivState; |
| DECLARE_INSTANCE_CHECKER(A9MPPrivState, A9MPCORE_PRIV, |
| TYPE_A9MPCORE_PRIV) |
| |
| struct A9MPPrivState { |
| /*< private >*/ |
| SysBusDevice parent_obj; |
| /*< public >*/ |
| |
| uint32_t num_cpu; |
| MemoryRegion container; |
| uint32_t num_irq; |
| |
| A9SCUState scu; |
| GICState gic; |
| A9GTimerState gtimer; |
| ARMMPTimerState mptimer; |
| ARMMPTimerState wdt; |
| }; |
| |
| #endif |