qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [STABLE][PATCH] isa-bus: Remove bogus IRQ sharing check


From: Michael Tokarev
Subject: Re: [Qemu-devel] [STABLE][PATCH] isa-bus: Remove bogus IRQ sharing check
Date: Sun, 20 Feb 2011 01:45:02 +0300
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.1.16) Gecko/20101227 Icedove/3.0.11

19.02.2011 20:56, Jan Kiszka wrote:
> From: Jan Kiszka <address@hidden>
> 
> Nothing prevented IRQ sharing on the ISA bus in principle. Not all
> boards supported this, neither each and every card nor driver and OS.
> Still, there existed valid IRQ sharing scenarios, (at least) two of them
> can also be found in QEMU: >2 PC UARTs and the PREP IDE buses.
> 
> So remove this artificial restriction from our ISA model and reenable
> both PREP IDE buses.

In qemu-kvm at least (I don't remember how different the relevant code
has been between qemu and qemu-kvm at that time) this restriction exists
since 0.12 version.  Before that it was at least possible to have >2 UARTS.
Do you aware of this?  I don't know this code at all, so.. just asking :)

I'd love to get this fixed for real instead of a hackish way we did this
in the debian package, and it does not look like the change is problematic,
but are you sure it should go to stable?

FWIW, I applied this patch to qemu-kvm 0.14 branch (had to hand-apply
it to hw/pc.c, obvious s/isa_reserve_irq/isa_get_irq) and run some quick
tests, it appears to work correctly here with multiple serial ports
and e.g. serial console on ttyS4.

(Without the patch (and this is a separate bug), qemu-kvm prints:

 qemu: hardware error: isa irq 4 already assigned
 CPU #0:
 _

when asked to create 3 serial ports, and stays there till killed).

Thanks!

> Signed-off-by: Jan Kiszka <address@hidden>
> ---
> 
>  hw/hpet.c          |    1 -
>  hw/ide/piix.c      |    2 +-
>  hw/ide/via.c       |    2 +-
>  hw/isa-bus.c       |   16 +++-------------
>  hw/isa.h           |    2 +-
>  hw/mips_fulong2e.c |    2 +-
>  hw/mips_malta.c    |    4 ++--
>  hw/pc.c            |    2 +-
>  hw/pc_piix.c       |    4 ++--
>  hw/ppc_prep.c      |    2 +-
>  10 files changed, 13 insertions(+), 24 deletions(-)
> 
> diff --git a/hw/hpet.c b/hw/hpet.c
> index 82a9a21..91ebb75 100644
[...]

/mjt



reply via email to

[Prev in Thread] Current Thread [Next in Thread]