void acpi_pm1_evt_init(ACPIREGS *ar, acpi_update_sci_fn update_sci, MemoryRegion *parent) { ar->pm1.evt.update_sci = update_sci; memory_region_init_io(&ar->pm1.evt.io, memory_region_owner(parent), &acpi_pm_evt_ops, ar, "acpi-evt", 4); memory_region_add_subregion(parent, 0, &ar->pm1.evt.io); }
void acpi_pm_tmr_init(ACPIREGS *ar, acpi_update_sci_fn update_sci, MemoryRegion *parent) { ar->tmr.update_sci = update_sci; ar->tmr.timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, acpi_pm_tmr_timer, ar); memory_region_init_io(&ar->tmr.io, memory_region_owner(parent), &acpi_pm_tmr_ops, ar, "acpi-tmr", 4); memory_region_add_subregion(parent, 8, &ar->tmr.io); }
.dout = TCO_DAT_OUT_DEFAULT, .sts1 = TCO1_STS_DEFAULT, .sts2 = TCO2_STS_DEFAULT, .cnt1 = TCO1_CNT_DEFAULT, .cnt2 = TCO2_CNT_DEFAULT, .msg1 = TCO_MESSAGE1_DEFAULT, .msg2 = TCO_MESSAGE2_DEFAULT, .wdcnt = TCO_WDCNT_DEFAULT, .tmr = TCO_TMR_DEFAULT, }, .sw_irq_gen = SW_IRQ_GEN_DEFAULT, .tco_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, tco_timer_expired, tr), .expire_time = -1, .timeouts_no = 0, }; memory_region_init_io(&tr->io, memory_region_owner(parent), &tco_io_ops, tr, "sm-tco", ICH9_PMIO_TCO_LEN); memory_region_add_subregion(parent, ICH9_PMIO_TCO_RLD, &tr->io); } const VMStateDescription vmstate_tco_io_sts = { .name = "tco io device status", .version_id = 1, .minimum_version_id = 1, .minimum_version_id_old = 1, .fields = (VMStateField[]) { VMSTATE_UINT16(tco.rld, TCOIORegs), VMSTATE_UINT8(tco.din, TCOIORegs), VMSTATE_UINT8(tco.dout, TCOIORegs), VMSTATE_UINT16(tco.sts1, TCOIORegs), VMSTATE_UINT16(tco.sts2, TCOIORegs),