These changes are the raw update to qemu-2.6.
[kvmfornfv.git] / qemu / include / hw / arm / bcm2836.h
1 /*
2  * Raspberry Pi emulation (c) 2012 Gregory Estrade
3  * Upstreaming code cleanup [including bcm2835_*] (c) 2013 Jan Petrous
4  *
5  * Rasperry Pi 2 emulation and refactoring Copyright (c) 2015, Microsoft
6  * Written by Andrew Baumann
7  *
8  * This code is licensed under the GNU GPLv2 and later.
9  */
10
11 #ifndef BCM2836_H
12 #define BCM2836_H
13
14 #include "hw/arm/arm.h"
15 #include "hw/arm/bcm2835_peripherals.h"
16 #include "hw/intc/bcm2836_control.h"
17
18 #define TYPE_BCM2836 "bcm2836"
19 #define BCM2836(obj) OBJECT_CHECK(BCM2836State, (obj), TYPE_BCM2836)
20
21 #define BCM2836_NCPUS 4
22
23 typedef struct BCM2836State {
24     /*< private >*/
25     DeviceState parent_obj;
26     /*< public >*/
27
28     uint32_t enabled_cpus;
29
30     ARMCPU cpus[BCM2836_NCPUS];
31     BCM2836ControlState control;
32     BCM2835PeripheralState peripherals;
33 } BCM2836State;
34
35 #endif /* BCM2836_H */