xref: /qemu/include/hw/misc/a9scu.h (revision fc719d77412513a07b718e1f083b64dbcac62524)
1*fc719d77SAndreas Färber /*
2*fc719d77SAndreas Färber  * Cortex-A9MPCore Snoop Control Unit (SCU) emulation.
3*fc719d77SAndreas Färber  *
4*fc719d77SAndreas Färber  * Copyright (c) 2009 CodeSourcery.
5*fc719d77SAndreas Färber  * Copyright (c) 2011 Linaro Limited.
6*fc719d77SAndreas Färber  * Written by Paul Brook, Peter Maydell.
7*fc719d77SAndreas Färber  *
8*fc719d77SAndreas Färber  * This code is licensed under the GPL.
9*fc719d77SAndreas Färber  */
10*fc719d77SAndreas Färber #ifndef HW_MISC_A9SCU_H
11*fc719d77SAndreas Färber #define HW_MISC_A9SCU_H
12*fc719d77SAndreas Färber 
13*fc719d77SAndreas Färber #include "hw/sysbus.h"
14*fc719d77SAndreas Färber 
15*fc719d77SAndreas Färber /* A9MP private memory region.  */
16*fc719d77SAndreas Färber 
17*fc719d77SAndreas Färber typedef struct A9SCUState {
18*fc719d77SAndreas Färber     /*< private >*/
19*fc719d77SAndreas Färber     SysBusDevice parent_obj;
20*fc719d77SAndreas Färber     /*< public >*/
21*fc719d77SAndreas Färber 
22*fc719d77SAndreas Färber     MemoryRegion iomem;
23*fc719d77SAndreas Färber     uint32_t control;
24*fc719d77SAndreas Färber     uint32_t status;
25*fc719d77SAndreas Färber     uint32_t num_cpu;
26*fc719d77SAndreas Färber } A9SCUState;
27*fc719d77SAndreas Färber 
28*fc719d77SAndreas Färber #define TYPE_A9_SCU "a9-scu"
29*fc719d77SAndreas Färber #define A9_SCU(obj) OBJECT_CHECK(A9SCUState, (obj), TYPE_A9_SCU)
30*fc719d77SAndreas Färber 
31*fc719d77SAndreas Färber #endif
32