I seem to have reverted the patch here: http://cvs.savannah.gnu.org/viewvc/qemu/qemu/hw/slavio_intctl.c?r1=1.15&r2=1.16
But I still get SCSI errors when using e2fsck with this change. On 8/3/07, Andreas Färber <[EMAIL PROTECTED]> wrote: > > Am 03.08.2007 um 16:54 schrieb Aurelien Jarno: > > >>> I suggest to read the description of the problem from last time: > >>> http://www.mail-archive.com/qemu-devel%40nongnu.org/msg08828.html > >>> > >>> I guess there is still one case when this can happen. The only > >>> solution > >>> I see to avoid that is to fix the bug (the problem doesn't occurs on > >>> real hardware, so the emulation is buggy). > >> > >> I tried that patch before ever posting to this list. Like I reported > >> earlier, if applied I don't get a kernel panic any more but instead > >> qemu crashes and is "gone". So sadly it didn't fix the issue for me > >> as is. > > > > Which version are you using? > > At the time both 0.9.0 and CVS HEAD, today CVS HEAD. > > > This patch is supposed to be in the CVS > > already. > > Negative, this is the excerpt from today's hw/slavio_intctl.c around > line 293: > > static void slavio_set_irq(void *opaque, int irq, int level) > { > SLAVIO_INTCTLState *s = opaque; > uint32_t mask = 1 << irq; > uint32_t pil = s->intbit_to_level[irq]; > > DPRINTF("Set cpu %d irq %d -> pil %d level %d\n", s->target_cpu, > irq, pil, > level); > if (pil > 0) { > if (level) { > s->intregm_pending |= mask; > s->intreg_pending[s->target_cpu] |= 1 << pil; > } else { > s->intregm_pending &= ~mask; > s->intreg_pending[s->target_cpu] &= ~(1 << pil); > } > slavio_check_interrupts(s); > } > } > > Your referenced patch moves slavio_check_interrupts(s); four lines up > so is not in CVS. > > Andreas > > >