> > void qemu_system_device_hot_add(int pcibus, int slot, int state) > { > - qemu_set_irq(pm_state->irq, 1); > pci0_status.up = 0; > pci0_status.down = 0; > if (state) > enable_device(&pci0_status, &gpe, slot); > else > disable_device(&pci0_status, &gpe, slot); > - qemu_set_irq(pm_state->irq, 0); > + > + if (gpe.en & 2) { > + qemu_set_irq(pm_state->irq, 1); > + qemu_set_irq(pm_state->irq, 0); > + } > } Are you sure this works? The trigger is now happening after all the events take place. It might well work depending on how qemu exposes this, but I have some spare memories of having problems with this in the past. -- Glauber Costa. "Free as in Freedom" http://glommer.net "The less confident you are, the more serious you have to act." -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html