On 11.02.2019 16:40, Andrea Bolognani wrote:
On Mon, 2019-02-11 at 08:14 +0000, Nikolay Shirokovskiy wrote:
> On 08.02.2019 17:34, Andrea Bolognani wrote:
>> Even with that fixed, while your code prevents a <console> element
>> associated to the isa-debugcon to be automatically created, it
>> doesn't prevent something like
>>
>> <console type='pty'/>
>> <serial type='file'>
>> <source path='...'/>
>> <target type='isa-serial'>
>> <model name='isa-debugcon'/>
>> </target>
>> </serial>
>>
>> to result in the same problematic configuration, while the user
>> clearly wanted to have both a regular serial console *and* the
>> isa-debugcon.
>
> Yeah I noticed that too but I though this is like case of usb-serial
> for example. We do not add missing console in that case but allow
> existing console to be alias of usb-serial.
Hm, that looks like a bug. I think we should be consistent about
this: either the aliasing between <serial/> and <console/> works
both ways, or it should not happen at all IMHO.
> Can usb-serial actually be console?
No idea :)
>>> + <serial type='pipe'>
>>> + <source path='/tmp/debugcon'/>
>>> + <target type='isa-serial' port='0'>
>>> + <model name='isa-debugcon'/>
>>> + </target>
>>> + <address type='isa' iobase='0x402'/>
>>> + </serial>
>>
>> So IIUC iobase=0x402 is the de-facto standard for isa-debugcon,
>> right?
>>
>> Assuming that's indeed the case, I would expect libvirt to fill in
>> that value automatically unless the user has provided an iobase
>> explicitly themselves.
>
> I wonder then why qemu uses a different value - 0xe9?
If that's the default value for isa-debugcon.iobase as far as QEMU
is concerned, then we should use that value in libvirt too. But I
thought you said 0x402 was the default?
AFAIK different firmwares have diferent iobase:
OMVF - 0x402
Seabios - 0x402
IPXE - 0xe9
So QEMU just takes iobase of IPXE. May be should just make iobase mandatory instead
of taking value of arbitrary firmware?
Nikolay