On 04.04.2019 15:23, Nikolay Shirokovskiy wrote:
>
>
> On 14.02.2019 14:32, Ján Tomko wrote:
>> v2: https://www.redhat.com/archives/libvir-list/2019-February/msg00293.html
>> v3:
>> * dropped the pointless isa-prefix
>> * use DO_TEST_CAPS_LATEST
>> * trimmed the XML
>> * compiles with gcc
>> * only make irq optional
>> * autofill iobase
>>
>> Ján Tomko (3):
>> qemu: introduce qemuDomainChrSerialTargetModel
>> qemu: make irq optional when formatting the ISA address
>> qemu: autoadd iobase to debugcon chardev
>>
>> Nikolay Shirokovskiy (2):
>> conf: add debugcon chardev guest interface
>> qemu: implement debugcon chardev
>>
>> docs/formatdomain.html.in | 3 +-
>> docs/schemas/domaincommon.rng | 1 +
>> src/conf/domain_conf.c | 5 ++++
>> src/conf/domain_conf.h | 1 +
>> src/qemu/qemu_command.c | 25 +++++++++++++---
>> src/qemu/qemu_domain.c | 12 ++++++++
>> .../isa-serial-debugcon.x86_64-latest.args | 30 +++++++++++++++++++
>> .../qemuxml2argvdata/isa-serial-debugcon.xml | 21 +++++++++++++
>> tests/qemuxml2argvtest.c | 1 +
>> .../isa-serial-debugcon.xml | 30 +++++++++++++++++++
>> tests/qemuxml2xmltest.c | 2 ++
>> 11 files changed, 126 insertions(+), 5 deletions(-)
>> create mode 100644 tests/qemuxml2argvdata/isa-serial-debugcon.x86_64-latest.args
>> create mode 100644 tests/qemuxml2argvdata/isa-serial-debugcon.xml
>> create mode 100644 tests/qemuxml2xmloutdata/isa-serial-debugcon.xml
>>
>
> I forget to mention that there is still an issue with console alias that need to be addressed:
>
> https://www.redhat.com/archives/libvir-list/2019-February/msg00608.html
>
> I could send it.
>
>
Next patch fixes the issue by inserting extra serial if the first one is debugcon.
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index b2dd281..1d69c88 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -4394,7 +4394,8 @@ virDomainDefAddConsoleCompat(virDomainDefPtr def)
(def->consoles[0]->targetType == VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_SERIAL ||
def->consoles[0]->targetType == VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_NONE)) {
- /* If there isn't a corresponding serial port:
+ /* If there isn't a corresponding serial port or the first serial port
+ * is used for debugcon:
* - create one and set, the console to be an alias for it
*
* If there is a corresponding serial port:
@@ -4404,8 +4405,11 @@ virDomainDefAddConsoleCompat(virDomainDefPtr def)
*/
/* create the serial port definition from the console definition */
- if (def->nserials == 0) {
- if (VIR_APPEND_ELEMENT(def->serials,
+ if (def->nserials == 0 ||
+ (def->serials[0]->targetType == VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_ISA &&
+ def->serials[0]->targetModel == VIR_DOMAIN_CHR_SERIAL_TARGET_MODEL_DEBUGCON)) {
+ if (VIR_INSERT_ELEMENT(def->serials,
+ 0,
def->nserials,
def->consoles[0]) < 0)
return -1;
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list