34 lines
		
	
	
		
			746 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			746 B
		
	
	
	
		
			C
		
	
	
	
/*
 | 
						|
 * Raspberry Pi emulation (c) 2012 Gregory Estrade
 | 
						|
 * This code is licensed under the GNU GPLv2 and later.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef BCM2835_IC_H
 | 
						|
#define BCM2835_IC_H
 | 
						|
 | 
						|
#include "hw/sysbus.h"
 | 
						|
 | 
						|
#define TYPE_BCM2835_IC "bcm2835-ic"
 | 
						|
#define BCM2835_IC(obj) OBJECT_CHECK(BCM2835ICState, (obj), TYPE_BCM2835_IC)
 | 
						|
 | 
						|
#define BCM2835_IC_GPU_IRQ "gpu-irq"
 | 
						|
#define BCM2835_IC_ARM_IRQ "arm-irq"
 | 
						|
 | 
						|
typedef 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;
 | 
						|
} BCM2835ICState;
 | 
						|
 | 
						|
#endif
 |