i8259: Fix coding style

No functional changes.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
master
Jan Kiszka 2011-10-07 09:19:54 +02:00 committed by Blue Swirl
parent 747c70af78
commit 81a02f93ba
1 changed files with 34 additions and 20 deletions

View File

@ -67,7 +67,7 @@ struct PicState {
MemoryRegion elcr_io; MemoryRegion elcr_io;
}; };
#if defined(DEBUG_PIC) || defined (DEBUG_IRQ_COUNT) #if defined(DEBUG_PIC) || defined(DEBUG_IRQ_COUNT)
static int irq_level[16]; static int irq_level[16];
#endif #endif
#ifdef DEBUG_IRQ_COUNT #ifdef DEBUG_IRQ_COUNT
@ -84,11 +84,14 @@ static PicState *slave_pic;
static int get_priority(PicState *s, int mask) static int get_priority(PicState *s, int mask)
{ {
int priority; int priority;
if (mask == 0)
if (mask == 0) {
return 8; return 8;
}
priority = 0; priority = 0;
while ((mask & (1 << ((priority + s->priority_add) & 7))) == 0) while ((mask & (1 << ((priority + s->priority_add) & 7))) == 0) {
priority++; priority++;
}
return priority; return priority;
} }
@ -99,14 +102,16 @@ static int pic_get_irq(PicState *s)
mask = s->irr & ~s->imr; mask = s->irr & ~s->imr;
priority = get_priority(s, mask); priority = get_priority(s, mask);
if (priority == 8) if (priority == 8) {
return -1; return -1;
}
/* compute current priority. If special fully nested mode on the /* compute current priority. If special fully nested mode on the
master, the IRQ coming from the slave is not taken into account master, the IRQ coming from the slave is not taken into account
for the priority computation. */ for the priority computation. */
mask = s->isr; mask = s->isr;
if (s->special_mask) if (s->special_mask) {
mask &= ~s->imr; mask &= ~s->imr;
}
if (s->special_fully_nested_mode && s->master) { if (s->special_fully_nested_mode && s->master) {
mask &= ~(1 << 2); mask &= ~(1 << 2);
} }
@ -188,14 +193,16 @@ static void pic_set_irq(void *opaque, int irq, int level)
static void pic_intack(PicState *s, int irq) static void pic_intack(PicState *s, int irq)
{ {
if (s->auto_eoi) { if (s->auto_eoi) {
if (s->rotate_on_auto_eoi) if (s->rotate_on_auto_eoi) {
s->priority_add = (irq + 1) & 7; s->priority_add = (irq + 1) & 7;
}
} else { } else {
s->isr |= (1 << irq); s->isr |= (1 << irq);
} }
/* We don't clear a level sensitive interrupt here */ /* We don't clear a level sensitive interrupt here */
if (!(s->elcr & (1 << irq))) if (!(s->elcr & (1 << irq))) {
s->irr &= ~(1 << irq); s->irr &= ~(1 << irq);
}
pic_update_irq(s); pic_update_irq(s);
} }
@ -283,18 +290,22 @@ static void pic_ioport_write(void *opaque, target_phys_addr_t addr64,
s->init_state = 1; s->init_state = 1;
s->init4 = val & 1; s->init4 = val & 1;
s->single_mode = val & 2; s->single_mode = val & 2;
if (val & 0x08) if (val & 0x08) {
hw_error("level sensitive irq not supported"); hw_error("level sensitive irq not supported");
}
} else if (val & 0x08) { } else if (val & 0x08) {
if (val & 0x04) if (val & 0x04) {
s->poll = 1; s->poll = 1;
if (val & 0x02) }
if (val & 0x02) {
s->read_reg_select = val & 1; s->read_reg_select = val & 1;
if (val & 0x40) }
if (val & 0x40) {
s->special_mask = (val >> 5) & 1; s->special_mask = (val >> 5) & 1;
}
} else { } else {
cmd = val >> 5; cmd = val >> 5;
switch(cmd) { switch (cmd) {
case 0: case 0:
case 4: case 4:
s->rotate_on_auto_eoi = cmd >> 2; s->rotate_on_auto_eoi = cmd >> 2;
@ -305,8 +316,9 @@ static void pic_ioport_write(void *opaque, target_phys_addr_t addr64,
if (priority != 8) { if (priority != 8) {
irq = (priority + s->priority_add) & 7; irq = (priority + s->priority_add) & 7;
s->isr &= ~(1 << irq); s->isr &= ~(1 << irq);
if (cmd == 5) if (cmd == 5) {
s->priority_add = (irq + 1) & 7; s->priority_add = (irq + 1) & 7;
}
pic_update_irq(s); pic_update_irq(s);
} }
break; break;
@ -331,7 +343,7 @@ static void pic_ioport_write(void *opaque, target_phys_addr_t addr64,
} }
} }
} else { } else {
switch(s->init_state) { switch (s->init_state) {
case 0: case 0:
/* normal mode */ /* normal mode */
s->imr = val; s->imr = val;
@ -374,10 +386,11 @@ static uint64_t pic_ioport_read(void *opaque, target_phys_addr_t addr,
s->poll = 0; s->poll = 0;
} else { } else {
if (addr == 0) { if (addr == 0) {
if (s->read_reg_select) if (s->read_reg_select) {
ret = s->isr; ret = s->isr;
else } else {
ret = s->irr; ret = s->irr;
}
} else { } else {
ret = s->imr; ret = s->imr;
} }
@ -410,7 +423,7 @@ static const VMStateDescription vmstate_pic = {
.version_id = 1, .version_id = 1,
.minimum_version_id = 1, .minimum_version_id = 1,
.minimum_version_id_old = 1, .minimum_version_id_old = 1,
.fields = (VMStateField []) { .fields = (VMStateField[]) {
VMSTATE_UINT8(last_irr, PicState), VMSTATE_UINT8(last_irr, PicState),
VMSTATE_UINT8(irr, PicState), VMSTATE_UINT8(irr, PicState),
VMSTATE_UINT8(imr, PicState), VMSTATE_UINT8(imr, PicState),
@ -474,9 +487,9 @@ void pic_info(Monitor *mon)
int i; int i;
PicState *s; PicState *s;
if (!isa_pic) if (!isa_pic) {
return; return;
}
for (i = 0; i < 2; i++) { for (i = 0; i < 2; i++) {
s = i == 0 ? isa_pic : slave_pic; s = i == 0 ? isa_pic : slave_pic;
monitor_printf(mon, "pic%d: irr=%02x imr=%02x isr=%02x hprio=%d " monitor_printf(mon, "pic%d: irr=%02x imr=%02x isr=%02x hprio=%d "
@ -498,8 +511,9 @@ void irq_info(Monitor *mon)
monitor_printf(mon, "IRQ statistics:\n"); monitor_printf(mon, "IRQ statistics:\n");
for (i = 0; i < 16; i++) { for (i = 0; i < 16; i++) {
count = irq_count[i]; count = irq_count[i];
if (count > 0) if (count > 0) {
monitor_printf(mon, "%2d: %" PRId64 "\n", i, count); monitor_printf(mon, "%2d: %" PRId64 "\n", i, count);
}
} }
#endif #endif
} }