[libvirt] [PATCH v2 1/2] conf: add debugcon chardev guest interface

Nikolay Shirokovskiy nshirokovskiy at virtuozzo.com
Tue Feb 12 14:30:34 UTC 2019



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




More information about the libvir-list mailing list