when to assert/deassert IRQ line: no matter (at least for emulation);
although it is generally level-triggered, qemu treats them as edge-triggered, so that qemu_irq_pulse may be used;
anyway (e.g. for proper IRQ sharing) separate 'irq status' register is needed for the device function (not implemented in this demo, but hold on :);
when to start/stop interrupts: doc contradiction;
PCI spec says that IRQ is enabled (interrupt disable == 0 in command register) upon reset, but linux pci documentation says that IRQ will go only when you explicitly enable them;
anyway, nothing happens (at least, nothing is visible) until request_irq;
even more: right place to request_irq is not probe routine, but rather device open routine;
qemu 0.12.1 yields maximum of ~3000 PCI interrupts/second;