Re: [Qemu-devel] Re: >2 serial ports?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Paul Brook wrote at Wed, 17 Mar 2010 11:18:09 +0000:
>> Oh, well, yes, I remember.  qemu is more strict on ISA irq sharing now.
>>   A bit too strict.
>>
>> /me goes dig out a old patch which never made it upstream for some
>> reason I forgot.  Attached.
> 
> This is wrong. Two devices should never be manipulating the same qemu_irq 
> object.  If you want multiple devices connected to the same IRQ then you need 
> an explicit multiplexer. e.g. arm_timer.c:sp804_set_irq.

So... what we have to do here?

I've looked at the mentioned routine, here it is:

/* Merge the IRQs from the two component devices.  */
static void sp804_set_irq(void *opaque, int irq, int level)
{
    sp804_state *s = (sp804_state *)opaque;

    s->level[irq] = level;
    qemu_set_irq(s->irq, s->level[0] || s->level[1]);
}

But I know nothing about qemu internals, so don't quite
understand how to do this in case of serial ports.  I
see it is tracking two timers and raises the irq level
if at least one half is raised...  That to say - I've
got the idea, but how to apply it to serial ports?

Thanks!

/mjt
--
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

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux