On 08.02.2019 18:02, Andrea Bolognani wrote:
> On Thu, 2019-02-07 at 14:31 +0300, Nikolay Shirokovskiy wrote:
> [...]
>> @@ -393,9 +393,11 @@ qemuBuildDeviceAddressStr(virBufferPtr buf,
>> info->addr.ccw.ssid,
>> info->addr.ccw.devno);
>> } else if (info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_ISA) {
>> - virBufferAsprintf(buf, ",iobase=0x%x,irq=0x%x",
>> - info->addr.isa.iobase,
>> - info->addr.isa.irq);
>> + if (info->addr.isa.iobase)
>> + virBufferAsprintf(buf, ",iobase=0x%x", info->addr.isa.iobase);
>> +
>> + if (info->addr.isa.irq)
>> + virBufferAsprintf(buf, ",irq=0x%x", info->addr.isa.irq);
>
> It's entirely unclear to me why you're doing this. Can you please
> provide some explanation?
Both irq and iobase are optional and value reserved for "not specified" is 0.
However we pass this 0 value as it was set explicitly to qemu. This is odd.
For example if we have 2 isa-serials with addresses without irq then both
have irq=0. Is this meaningful configuration?
Specifying irq for debugcon just does not work:
error: internal error: qemu unexpectedly closed the monitor:
2019-02-11T08:33:00.460078Z qemu-kvm: -device
isa-debugcon,chardev=charserial0,id=serial0,iobase=0x402,irq=0x0: Property
'.irq' not found
Nikolay
>
> Also note that this won't just affect isa-debugcon but also any
> other device with an ISA address, so I really don't think you can
> just go ahead and change it without breaking existing guests.
>
> [...]
>> +++ b/tests/qemuxml2argvtest.c
>> @@ -1490,6 +1490,7 @@ mymain(void)
>> QEMU_CAPS_DEVICE_ISA_SERIAL);
>> DO_TEST("pci-serial-dev-chardev",
>> QEMU_CAPS_DEVICE_PCI_SERIAL);
>> + DO_TEST("isa-serial-debugcon", NONE);
>>
>> DO_TEST("channel-guestfwd", NONE);
>> DO_TEST_CAPS_VER("channel-unix-guestfwd", "2.5.0");
>
> If you had included this hunk in the previous commit, then the
> QEMU command line would have been generated right away... I don't
> think this belongs in a separate commit.
>
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list