/* | |
* Raspberry Pi emulation (c) 2012 Gregory Estrade | |
* | |
* This work is licensed under the terms of the GNU GPL, version 2 or later. | |
* See the COPYING file in the top-level directory. | |
*/ | |
#ifndef BCM2835_IC_H | |
#define BCM2835_IC_H | |
#include "hw/sysbus.h" | |
#include "qom/object.h" | |
#define TYPE_BCM2835_IC "bcm2835-ic" | |
OBJECT_DECLARE_SIMPLE_TYPE(BCM2835ICState, BCM2835_IC) | |
#define BCM2835_IC_GPU_IRQ "gpu-irq" | |
#define BCM2835_IC_ARM_IRQ "arm-irq" | |
struct BCM2835ICState { | |
/*< private >*/ | |
SysBusDevice busdev; | |
/*< public >*/ | |
MemoryRegion iomem; | |
qemu_irq irq; | |
qemu_irq fiq; | |
/* 64 GPU IRQs + 8 ARM IRQs = 72 total (GPU first) */ | |
uint64_t gpu_irq_level, gpu_irq_enable; | |
uint8_t arm_irq_level, arm_irq_enable; | |
bool fiq_enable; | |
uint8_t fiq_select; | |
}; | |
#endif |