@@ -14,6 +14,7 @@ enum IsaIrqNumber {
ISA_IRQ_TPM_DEFAULT = 5,
ISA_IRQ_FDC_DEFAULT = 6,
ISA_IRQ_PAR_DEFAULT = 7,
+ ISA_IRQ_RTC_DEFAULT = 8,
ISA_NUM_IRQS = 16
};
@@ -47,7 +47,6 @@ struct RTCState {
QLIST_ENTRY(RTCState) link;
};
-#define RTC_ISA_IRQ 8
#define RTC_ISA_BASE 0x70
ISADevice *mc146818_rtc_init(ISABus *bus, int base_year,
@@ -185,7 +185,7 @@ static void piix4_realize(PCIDevice *dev, Error **errp)
if (!qdev_realize(DEVICE(&s->rtc), BUS(isa_bus), errp)) {
return;
}
- isa_init_irq(ISA_DEVICE(&s->rtc), &s->rtc.irq, RTC_ISA_IRQ);
+ isa_init_irq(ISA_DEVICE(&s->rtc), &s->rtc.irq, ISA_IRQ_RTC_DEFAULT);
piix4_dev = dev;
}
@@ -124,7 +124,7 @@ static void m48t59_isa_realize(DeviceState *dev, Error **errp)
s->model = u->info.model;
s->size = u->info.size;
- isa_init_irq(isadev, &s->IRQ, 8);
+ isa_init_irq(isadev, &s->IRQ, ISA_IRQ_RTC_DEFAULT);
m48t59_realize_common(s, errp);
memory_region_init_io(&d->io, OBJECT(dev), &m48t59_io_ops, s, "m48t59", 4);
if (d->io_base != 0) {
@@ -981,7 +981,7 @@ ISADevice *mc146818_rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq)
if (intercept_irq) {
qdev_connect_gpio_out(dev, 0, intercept_irq);
} else {
- isa_connect_gpio_out(isadev, 0, RTC_ISA_IRQ);
+ isa_connect_gpio_out(isadev, 0, ISA_IRQ_RTC_DEFAULT);
}
object_property_add_alias(qdev_get_machine(), "rtc-time", OBJECT(isadev),
@@ -1020,7 +1020,7 @@ static void rtc_build_aml(ISADevice *isadev, Aml *scope)
crs = aml_resource_template();
aml_append(crs, aml_io(AML_DECODE16, RTC_ISA_BASE, RTC_ISA_BASE,
0x01, 0x08));
- aml_append(crs, aml_irq_no_flags(RTC_ISA_IRQ));
+ aml_append(crs, aml_irq_no_flags(ISA_IRQ_RTC_DEFAULT));
dev = aml_device("RTC");
aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0B00")));
@@ -196,7 +196,7 @@ static void update_irq(struct HPETTimer *timer, int set)
* timer0 be routed to IRQ0 in NON-APIC or IRQ2 in the I/O APIC,
* timer1 be routed to IRQ8 in NON-APIC or IRQ8 in the I/O APIC.
*/
- route = (timer->tn == 0) ? 0 : RTC_ISA_IRQ;
+ route = (timer->tn == 0) ? 0 : ISA_IRQ_RTC_DEFAULT;
} else {
route = timer_int_route(timer);
}
@@ -615,11 +615,11 @@ static void hpet_ram_write(void *opaque, hwaddr addr,
if (activating_bit(old_val, new_val, HPET_CFG_LEGACY)) {
qemu_set_irq(s->pit_enabled, 0);
qemu_irq_lower(s->irqs[0]);
- qemu_irq_lower(s->irqs[RTC_ISA_IRQ]);
+ qemu_irq_lower(s->irqs[ISA_IRQ_RTC_DEFAULT]);
} else if (deactivating_bit(old_val, new_val, HPET_CFG_LEGACY)) {
qemu_irq_lower(s->irqs[0]);
qemu_set_irq(s->pit_enabled, 1);
- qemu_set_irq(s->irqs[RTC_ISA_IRQ], s->rtc_irq_level);
+ qemu_set_irq(s->irqs[ISA_IRQ_RTC_DEFAULT], s->rtc_irq_level);
}
break;
case HPET_CFG + 4:
@@ -711,7 +711,7 @@ static void hpet_handle_legacy_irq(void *opaque, int n, int level)
} else {
s->rtc_irq_level = level;
if (!hpet_in_legacy_mode(s)) {
- qemu_set_irq(s->irqs[RTC_ISA_IRQ], level);
+ qemu_set_irq(s->irqs[ISA_IRQ_RTC_DEFAULT], level);
}
}
}
@@ -278,7 +278,7 @@ static void alarm_time(void)
/* set DEC mode */
cmos_write(RTC_REG_B, REG_B_24H | REG_B_DM);
- g_assert(!get_irq(RTC_ISA_IRQ));
+ g_assert(!get_irq(ISA_IRQ_RTC_DEFAULT));
cmos_read(RTC_REG_C);
now.tm_sec = (now.tm_sec + 2) % 60;
@@ -288,14 +288,14 @@ static void alarm_time(void)
cmos_write(RTC_REG_B, cmos_read(RTC_REG_B) | REG_B_AIE);
for (i = 0; i < 2 + wiggle; i++) {
- if (get_irq(RTC_ISA_IRQ)) {
+ if (get_irq(ISA_IRQ_RTC_DEFAULT)) {
break;
}
clock_step(1000000000);
}
- g_assert(get_irq(RTC_ISA_IRQ));
+ g_assert(get_irq(ISA_IRQ_RTC_DEFAULT));
g_assert((cmos_read(RTC_REG_C) & REG_C_AF) != 0);
g_assert(cmos_read(RTC_REG_C) == 0);
}
@@ -645,7 +645,7 @@ static void uip_stuck(void)
static uint64_t wait_periodic_interrupt(uint64_t real_time)
{
- while (!get_irq(RTC_ISA_IRQ)) {
+ while (!get_irq(ISA_IRQ_RTC_DEFAULT)) {
real_time = clock_step_next();
}
The RTC time keep clock ses IRQ #8 by default. Add this default definition to the IsaIrqNumber enum. Avoid magic values in the code, replace them by the newly introduced definition. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> --- include/hw/isa/isa.h | 1 + include/hw/rtc/mc146818rtc.h | 1 - hw/isa/piix4.c | 2 +- hw/rtc/m48t59-isa.c | 2 +- hw/rtc/mc146818rtc.c | 4 ++-- hw/timer/hpet.c | 8 ++++---- tests/qtest/rtc-test.c | 8 ++++---- 7 files changed, 13 insertions(+), 13 deletions(-)