[libvirt] [PATCHv3 0/5] Implement debugcon chardev

Ján Tomko posted 5 patches 5 years, 2 months ago
Test syntax-check passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1550143829.git.jtomko@redhat.com
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
[libvirt] [PATCHv3 0/5] Implement debugcon chardev
Posted by Ján Tomko 5 years, 2 months ago
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

-- 
2.19.2

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCHv3 0/5] Implement debugcon chardev
Posted by Nikolay Shirokovskiy 5 years ago

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.

Nikolay

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCHv3 0/5] Implement debugcon chardev
Posted by Nikolay Shirokovskiy 5 years ago

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
Re: [libvirt] [PATCHv3 0/5] Implement debugcon chardev
Posted by Nikolay Shirokovskiy 4 years, 10 months ago
ping

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
> 

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list