On 06/10/2011 08:50 AM, Peter Maydell wrote:
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,
If it really makes you feel bad, you could also do:
-device piix3,id=piix3
-device wire,id=wire,in=piix3.irq[3]
-device isa-serial,id=serial,irq=wire.out
Regards,
Anthony Liguori
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".
-- PMM