Peter Maydell <peter.mayd...@linaro.org> writes:

> On 10 June 2011 14:43, Jan Kiszka <jan.kis...@siemens.com> wrote:
>> On 2011-06-10 15:10, Peter Maydell wrote:
>>> This makes the wiring of this signal look like a property of the
>>> isa-serial device, which is a bit odd, since it's just as much
>>> a property of the piix3. Actually it's neither, it's a property
>>> of the machine model, and you might actually want a syntax a bit
>>> more like:
>>>
>>>  piix3 = piix3(property=value, property=value...);
>>>  serial = isa-serial(property=value...);
>>>  connect(serial.irq, piix3.irq[3]);
>>
>> In fact, in the ISA case, it is a device property: The device, and only
>> the device decides which IRQ to use - from the bus it is attached to. So
>> attaching an ISA device to the bus of an ISA bridge like the PIIX3 and
>> selecting local IRQ 3 are the steps we can already express today.
>
> Ah, in that case Anthony's suggestion of
>   -device piix3,id=piix3 -device isa-serial,id=serial,irq=piix3.irq[3]
> wrong in a different way -- the isa-serial shouldn't care
> what other device is providing the ISA bus it is sitting on,
> it just has a property of which ISA irq line it is using
> (and rely on an isa bus abstraction to wire things up at
> the machine model level). [As you say, this works now.]
>
> But I think that's a non-typical case compared to the usual one
> of "these wires are just hardwired this way by the machine".

IIRC, the PCI bus also provides a number of IRQ lines for the device to
tickle (INTA#..INTD#).  There's rarely a need to configure their use,
though.

Reply via email to