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". -- PMM