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


Reply via email to