@@ -666,6 +666,13 @@ uint32_t acpi_gpe_ioport_readb(ACPIREGS *ar, uint32_t addr)
return val;
}
+void acpi_send_gpe_event(ACPIREGS *ar, qemu_irq irq,
+ unsigned int hotplug_status)
+{
+ ar->gpe.sts[0] |= hotplug_status;
+ acpi_update_sci(ar, irq);
+}
+
void acpi_update_sci(ACPIREGS *regs, qemu_irq irq)
{
int sci_level, pm1a_sts;
@@ -172,6 +172,9 @@ void acpi_gpe_reset(ACPIREGS *ar);
void acpi_gpe_ioport_writeb(ACPIREGS *ar, uint32_t addr, uint32_t val);
uint32_t acpi_gpe_ioport_readb(ACPIREGS *ar, uint32_t addr);
+void acpi_send_gpe_event(ACPIREGS *ar, qemu_irq irq,
+ unsigned int hotplug_status);
+
void acpi_update_sci(ACPIREGS *acpi_regs, qemu_irq irq);
/* acpi.c */
acpi_send_gpe_event() is introduced to do a generic for acpi to send gpe event, and it can be reused by CPU and PCI hotplug. Signed-off-by: Zhu Guihua <zhugh.fnst@cn.fujitsu.com> --- hw/acpi/core.c | 7 +++++++ include/hw/acpi/acpi.h | 3 +++ 2 files changed, 10 insertions(+)