> > > > The way to fix it is two-phase reset: > > > > phase 1: reset internal state (-> move all outputs to reset > > values), > > don't sample inputs yet > > phase 2: allow sampling inputs > > As far as I understood Anthony's QOM plans, phase 1 will correspond > to > "unrealize", phase 2 to "realize".
That smells of abusing mechanism used for construction for reset purposes. Why not use an ordinary qemu_irq? It reresents a pin; 0->1 edge (assert) enters phase 1, 1->0 edge (deassert) enters phase 2. Exactly like real hardware. > > However, we do not depend on two phases in this particular case > (i8259) > and can live with a coalescing both for now. > Agree.