[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devi
From: |
Gleb Natapov |
Subject: |
Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devices |
Date: |
Mon, 13 Jun 2011 12:57:20 +0300 |
On Fri, Jun 10, 2011 at 04:59:08PM +0200, Markus Armbruster wrote:
> Anthony Liguori <address@hidden> writes:
>
> > On 06/10/2011 03:13 AM, Markus Armbruster wrote:
> >> Jan Kiszka<address@hidden> writes:
> >>> Resource management, e.g. IRQs. That will be useful for other types of
> >>> buses as well.
> >>
> >> A device should be able to say "I need to be connected to an IRQ line".
> >> Feels generic to me.
> >
> > More specifically, a device has input IRQs. A device has no idea what
> > number the IRQ is tied to.
> >
> > Devices may also have output IRQs. At the qdev layer, we should be
> > able to connect an arbitrary output IRQ to an arbitrary input IRQ.
> >
> > So the crux of the problem is that:
> >
> > -device isa-serial,id=serial,irq=3
> >
> > Is very wrong. It ought to look something more like
> >
> > -device piix3,id=piix3 -device isa-serial,id=serial,irq=piix3.irq[3]
>
> As Jan pointed out, ISA is a counter-example: your "very wrong" claim is
> actually wrong there :)
>
> An ISA device is always connected to all the ISA bus's interrupt lines.
> Device configuration determines how the device uses these lines.
>
> The old (non-MSI) PCI interrupts are similar, I think.
>
Each PCI card has 4 irq pins INTA/INTB/INTC/INTD (usually only INTA is
used). Chipset has PCI irq router with one or more inputs (PIIX3 has
4 PIRQ[A:D]#). Wiring on the motherboard determines which irq pin is
connect to which PCI irq router input. Different slots usually connect
the same interrupt line to a different router input in order to spread
INTA of different cards between different inputs. PCI irq router is
configured to route each input pin to a different (or same) GSI. OS can
reconfigure irq router at will using AML methods if they are provided.
--
Gleb.
- Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devices, (continued)
- Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devices, Anthony Liguori, 2011/06/13
- Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devices, Blue Swirl, 2011/06/13
- Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devices, Anthony Liguori, 2011/06/14
- Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devices, Blue Swirl, 2011/06/15
- Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devices, Anthony Liguori, 2011/06/15
- Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devices, Blue Swirl, 2011/06/15
- Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devices, Paul Brook, 2011/06/20
- Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devices, Blue Swirl, 2011/06/20
- Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devices, Avi Kivity, 2011/06/21
- Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devices, Paul Brook, 2011/06/26
- Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devices,
Gleb Natapov <=
- Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devices, Andreas Färber, 2011/06/10