|
@@ -36,7 +36,7 @@ static const uint8_t gic_id[] = {
|
|
|
|
|
|
#define NUM_CPU(s) ((s)->num_cpu)
|
|
|
|
|
|
-static inline int gic_get_current_cpu(gic_state *s)
|
|
|
+static inline int gic_get_current_cpu(GICState *s)
|
|
|
{
|
|
|
if (s->num_cpu > 1) {
|
|
|
return cpu_single_env->cpu_index;
|
|
@@ -46,7 +46,7 @@ static inline int gic_get_current_cpu(gic_state *s)
|
|
|
|
|
|
/* TODO: Many places that call this routine could be optimized. */
|
|
|
/* Update interrupt status after enabled or pending bits have been changed. */
|
|
|
-void gic_update(gic_state *s)
|
|
|
+void gic_update(GICState *s)
|
|
|
{
|
|
|
int best_irq;
|
|
|
int best_prio;
|
|
@@ -84,7 +84,7 @@ void gic_update(gic_state *s)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void gic_set_pending_private(gic_state *s, int cpu, int irq)
|
|
|
+void gic_set_pending_private(GICState *s, int cpu, int irq)
|
|
|
{
|
|
|
int cm = 1 << cpu;
|
|
|
|
|
@@ -105,7 +105,7 @@ static void gic_set_irq(void *opaque, int irq, int level)
|
|
|
* [N+32..N+63] : PPI (internal interrupts for CPU 1
|
|
|
* ...
|
|
|
*/
|
|
|
- gic_state *s = (gic_state *)opaque;
|
|
|
+ GICState *s = (GICState *)opaque;
|
|
|
int cm, target;
|
|
|
if (irq < (s->num_irq - GIC_INTERNAL)) {
|
|
|
/* The first external input line is internal interrupt 32. */
|
|
@@ -137,7 +137,7 @@ static void gic_set_irq(void *opaque, int irq, int level)
|
|
|
gic_update(s);
|
|
|
}
|
|
|
|
|
|
-static void gic_set_running_irq(gic_state *s, int cpu, int irq)
|
|
|
+static void gic_set_running_irq(GICState *s, int cpu, int irq)
|
|
|
{
|
|
|
s->running_irq[cpu] = irq;
|
|
|
if (irq == 1023) {
|
|
@@ -148,7 +148,7 @@ static void gic_set_running_irq(gic_state *s, int cpu, int irq)
|
|
|
gic_update(s);
|
|
|
}
|
|
|
|
|
|
-uint32_t gic_acknowledge_irq(gic_state *s, int cpu)
|
|
|
+uint32_t gic_acknowledge_irq(GICState *s, int cpu)
|
|
|
{
|
|
|
int new_irq;
|
|
|
int cm = 1 << cpu;
|
|
@@ -167,7 +167,7 @@ uint32_t gic_acknowledge_irq(gic_state *s, int cpu)
|
|
|
return new_irq;
|
|
|
}
|
|
|
|
|
|
-void gic_complete_irq(gic_state *s, int cpu, int irq)
|
|
|
+void gic_complete_irq(GICState *s, int cpu, int irq)
|
|
|
{
|
|
|
int update = 0;
|
|
|
int cm = 1 << cpu;
|
|
@@ -214,7 +214,7 @@ void gic_complete_irq(gic_state *s, int cpu, int irq)
|
|
|
|
|
|
static uint32_t gic_dist_readb(void *opaque, target_phys_addr_t offset)
|
|
|
{
|
|
|
- gic_state *s = (gic_state *)opaque;
|
|
|
+ GICState *s = (GICState *)opaque;
|
|
|
uint32_t res;
|
|
|
int irq;
|
|
|
int i;
|
|
@@ -347,7 +347,7 @@ static uint32_t gic_dist_readl(void *opaque, target_phys_addr_t offset)
|
|
|
static void gic_dist_writeb(void *opaque, target_phys_addr_t offset,
|
|
|
uint32_t value)
|
|
|
{
|
|
|
- gic_state *s = (gic_state *)opaque;
|
|
|
+ GICState *s = (GICState *)opaque;
|
|
|
int irq;
|
|
|
int i;
|
|
|
int cpu;
|
|
@@ -500,7 +500,7 @@ static void gic_dist_writew(void *opaque, target_phys_addr_t offset,
|
|
|
static void gic_dist_writel(void *opaque, target_phys_addr_t offset,
|
|
|
uint32_t value)
|
|
|
{
|
|
|
- gic_state *s = (gic_state *)opaque;
|
|
|
+ GICState *s = (GICState *)opaque;
|
|
|
if (offset == 0xf00) {
|
|
|
int cpu;
|
|
|
int irq;
|
|
@@ -539,7 +539,7 @@ static const MemoryRegionOps gic_dist_ops = {
|
|
|
.endianness = DEVICE_NATIVE_ENDIAN,
|
|
|
};
|
|
|
|
|
|
-static uint32_t gic_cpu_read(gic_state *s, int cpu, int offset)
|
|
|
+static uint32_t gic_cpu_read(GICState *s, int cpu, int offset)
|
|
|
{
|
|
|
switch (offset) {
|
|
|
case 0x00: /* Control */
|
|
@@ -561,7 +561,7 @@ static uint32_t gic_cpu_read(gic_state *s, int cpu, int offset)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static void gic_cpu_write(gic_state *s, int cpu, int offset, uint32_t value)
|
|
|
+static void gic_cpu_write(GICState *s, int cpu, int offset, uint32_t value)
|
|
|
{
|
|
|
switch (offset) {
|
|
|
case 0x00: /* Control */
|
|
@@ -587,25 +587,25 @@ static void gic_cpu_write(gic_state *s, int cpu, int offset, uint32_t value)
|
|
|
static uint64_t gic_thiscpu_read(void *opaque, target_phys_addr_t addr,
|
|
|
unsigned size)
|
|
|
{
|
|
|
- gic_state *s = (gic_state *)opaque;
|
|
|
+ GICState *s = (GICState *)opaque;
|
|
|
return gic_cpu_read(s, gic_get_current_cpu(s), addr);
|
|
|
}
|
|
|
|
|
|
static void gic_thiscpu_write(void *opaque, target_phys_addr_t addr,
|
|
|
uint64_t value, unsigned size)
|
|
|
{
|
|
|
- gic_state *s = (gic_state *)opaque;
|
|
|
+ GICState *s = (GICState *)opaque;
|
|
|
gic_cpu_write(s, gic_get_current_cpu(s), addr, value);
|
|
|
}
|
|
|
|
|
|
/* Wrappers to read/write the GIC CPU interface for a specific CPU.
|
|
|
- * These just decode the opaque pointer into gic_state* + cpu id.
|
|
|
+ * These just decode the opaque pointer into GICState* + cpu id.
|
|
|
*/
|
|
|
static uint64_t gic_do_cpu_read(void *opaque, target_phys_addr_t addr,
|
|
|
unsigned size)
|
|
|
{
|
|
|
- gic_state **backref = (gic_state **)opaque;
|
|
|
- gic_state *s = *backref;
|
|
|
+ GICState **backref = (GICState **)opaque;
|
|
|
+ GICState *s = *backref;
|
|
|
int id = (backref - s->backref);
|
|
|
return gic_cpu_read(s, id, addr);
|
|
|
}
|
|
@@ -613,8 +613,8 @@ static uint64_t gic_do_cpu_read(void *opaque, target_phys_addr_t addr,
|
|
|
static void gic_do_cpu_write(void *opaque, target_phys_addr_t addr,
|
|
|
uint64_t value, unsigned size)
|
|
|
{
|
|
|
- gic_state **backref = (gic_state **)opaque;
|
|
|
- gic_state *s = *backref;
|
|
|
+ GICState **backref = (GICState **)opaque;
|
|
|
+ GICState *s = *backref;
|
|
|
int id = (backref - s->backref);
|
|
|
gic_cpu_write(s, id, addr, value);
|
|
|
}
|
|
@@ -631,7 +631,7 @@ static const MemoryRegionOps gic_cpu_ops = {
|
|
|
.endianness = DEVICE_NATIVE_ENDIAN,
|
|
|
};
|
|
|
|
|
|
-void gic_init_irqs_and_distributor(gic_state *s, int num_irq)
|
|
|
+void gic_init_irqs_and_distributor(GICState *s, int num_irq)
|
|
|
{
|
|
|
int i;
|
|
|
|
|
@@ -657,7 +657,7 @@ static int arm_gic_init(SysBusDevice *dev)
|
|
|
{
|
|
|
/* Device instance init function for the GIC sysbus device */
|
|
|
int i;
|
|
|
- gic_state *s = FROM_SYSBUS(gic_state, dev);
|
|
|
+ GICState *s = FROM_SYSBUS(GICState, dev);
|
|
|
ARMGICClass *agc = ARM_GIC_GET_CLASS(s);
|
|
|
|
|
|
agc->parent_init(dev);
|
|
@@ -701,7 +701,7 @@ static void arm_gic_class_init(ObjectClass *klass, void *data)
|
|
|
static TypeInfo arm_gic_info = {
|
|
|
.name = TYPE_ARM_GIC,
|
|
|
.parent = TYPE_ARM_GIC_COMMON,
|
|
|
- .instance_size = sizeof(gic_state),
|
|
|
+ .instance_size = sizeof(GICState),
|
|
|
.class_init = arm_gic_class_init,
|
|
|
.class_size = sizeof(ARMGICClass),
|
|
|
};
|