On Wed, Sep 28, 2011 at 9:18 PM, Jan Kiszka <jan.kis...@web.de> wrote: > On 2011-09-28 20:01, Blue Swirl wrote: >> >> On Wed, Sep 28, 2011 at 11:00 AM, Jan Kiszka<jan.kis...@siemens.com> >> wrote: >>> >>> As we clearly modify the PIC state on pic_reset, we also have to update >>> the IRQ output. This only happened on init so far. Apply this >>> consistently. >> >> Nack, IRQ lines shouldn't be touched on reset. The other side may not >> be ready for receiving the interrupt change and qemu_irqs are >> stateless anyway. > > Sorry, but failing to clear the line (this is what pic_update_irq will > effectively do) is a clear bug in the current code. This patch is 100% > analogue to what, e.g. the PCI layer does on reset. Please re-read.
Reset will happen also when the devices are created. At that time, qemu_irq callback triggered by changing of the state may produce undesired effects on the other side. There have been bugs earlier, see bc26e55a6615dc594be425d293db40d5cdcdb84b and 42f1ced228c9b616cfa2b69846025271618e4ef5 and discussion in http://lists.nongnu.org/archive/html/qemu-devel/2009-06/msg01024.html.