[PATCH 0/3] domain_capabilities: add console capabilities

Roman Bogorodskiy posted 3 patches 3 months, 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20250515162947.88108-1-bogorodskiy@gmail.com
There is a newer version of this series
src/bhyve/bhyve_capabilities.c                |  5 +++
src/conf/domain_capabilities.c                | 12 +++++++
src/conf/domain_capabilities.h                |  8 +++++
src/conf/schemas/domaincaps.rng               | 10 ++++++
src/qemu/qemu_capabilities.c                  | 32 +++++++++++++++++++
src/qemu/qemu_capabilities.h                  |  3 ++
tests/domaincapsdata/bhyve_basic.x86_64.xml   |  5 +++
tests/domaincapsdata/bhyve_fbuf.x86_64.xml    |  5 +++
tests/domaincapsdata/bhyve_uefi.x86_64.xml    |  5 +++
.../qemu_10.0.0-q35.x86_64+amdsev.xml         | 18 +++++++++++
.../domaincapsdata/qemu_10.0.0-q35.x86_64.xml | 18 +++++++++++
.../qemu_10.0.0-tcg.x86_64+amdsev.xml         | 18 +++++++++++
.../domaincapsdata/qemu_10.0.0-tcg.x86_64.xml | 18 +++++++++++
tests/domaincapsdata/qemu_10.0.0.s390x.xml    | 15 +++++++++
.../qemu_10.0.0.x86_64+amdsev.xml             | 18 +++++++++++
tests/domaincapsdata/qemu_10.0.0.x86_64.xml   | 18 +++++++++++
.../domaincapsdata/qemu_6.2.0-q35.x86_64.xml  | 18 +++++++++++
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml  | 18 +++++++++++
tests/domaincapsdata/qemu_6.2.0.ppc64.xml     | 15 +++++++++
tests/domaincapsdata/qemu_6.2.0.x86_64.xml    | 18 +++++++++++
.../domaincapsdata/qemu_7.0.0-q35.x86_64.xml  | 18 +++++++++++
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml  | 18 +++++++++++
tests/domaincapsdata/qemu_7.0.0.ppc64.xml     | 16 ++++++++++
tests/domaincapsdata/qemu_7.0.0.x86_64.xml    | 18 +++++++++++
.../domaincapsdata/qemu_7.1.0-q35.x86_64.xml  | 18 +++++++++++
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml  | 18 +++++++++++
tests/domaincapsdata/qemu_7.1.0.ppc64.xml     | 16 ++++++++++
tests/domaincapsdata/qemu_7.1.0.x86_64.xml    | 18 +++++++++++
.../qemu_7.2.0-hvf.x86_64+hvf.xml             | 18 +++++++++++
.../domaincapsdata/qemu_7.2.0-q35.x86_64.xml  | 18 +++++++++++
.../qemu_7.2.0-tcg.x86_64+hvf.xml             | 18 +++++++++++
.../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml  | 18 +++++++++++
tests/domaincapsdata/qemu_7.2.0.ppc.xml       | 18 +++++++++++
tests/domaincapsdata/qemu_7.2.0.x86_64.xml    | 18 +++++++++++
.../domaincapsdata/qemu_8.0.0-q35.x86_64.xml  | 18 +++++++++++
.../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml  | 18 +++++++++++
tests/domaincapsdata/qemu_8.0.0.x86_64.xml    | 18 +++++++++++
.../domaincapsdata/qemu_8.1.0-q35.x86_64.xml  | 18 +++++++++++
.../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml  | 18 +++++++++++
tests/domaincapsdata/qemu_8.1.0.s390x.xml     | 15 +++++++++
tests/domaincapsdata/qemu_8.1.0.x86_64.xml    | 18 +++++++++++
.../domaincapsdata/qemu_8.2.0-q35.x86_64.xml  | 18 +++++++++++
.../qemu_8.2.0-tcg-virt.loongarch64.xml       | 18 +++++++++++
.../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml  | 18 +++++++++++
.../qemu_8.2.0-virt.aarch64.xml               | 16 ++++++++++
.../qemu_8.2.0-virt.loongarch64.xml           | 18 +++++++++++
tests/domaincapsdata/qemu_8.2.0.aarch64.xml   | 16 ++++++++++
tests/domaincapsdata/qemu_8.2.0.armv7l.xml    | 18 +++++++++++
tests/domaincapsdata/qemu_8.2.0.s390x.xml     | 15 +++++++++
tests/domaincapsdata/qemu_8.2.0.x86_64.xml    | 18 +++++++++++
.../domaincapsdata/qemu_9.0.0-q35.x86_64.xml  | 18 +++++++++++
.../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml  | 18 +++++++++++
tests/domaincapsdata/qemu_9.0.0.sparc.xml     | 18 +++++++++++
tests/domaincapsdata/qemu_9.0.0.x86_64.xml    | 18 +++++++++++
.../domaincapsdata/qemu_9.1.0-q35.x86_64.xml  | 18 +++++++++++
.../qemu_9.1.0-tcg-virt.riscv64.xml           | 18 +++++++++++
.../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml  | 18 +++++++++++
.../qemu_9.1.0-virt.riscv64.xml               | 18 +++++++++++
tests/domaincapsdata/qemu_9.1.0.s390x.xml     | 15 +++++++++
tests/domaincapsdata/qemu_9.1.0.x86_64.xml    | 18 +++++++++++
.../qemu_9.2.0-hvf.aarch64+hvf.xml            | 16 ++++++++++
.../qemu_9.2.0-q35.x86_64+amdsev.xml          | 18 +++++++++++
.../domaincapsdata/qemu_9.2.0-q35.x86_64.xml  | 18 +++++++++++
.../qemu_9.2.0-tcg.x86_64+amdsev.xml          | 18 +++++++++++
.../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml  | 18 +++++++++++
tests/domaincapsdata/qemu_9.2.0.s390x.xml     | 15 +++++++++
.../qemu_9.2.0.x86_64+amdsev.xml              | 18 +++++++++++
tests/domaincapsdata/qemu_9.2.0.x86_64.xml    | 18 +++++++++++
68 files changed, 1119 insertions(+)
[PATCH 0/3] domain_capabilities: add console capabilities
Posted by Roman Bogorodskiy 3 months, 3 weeks ago
Motivation behind this series is to give management software possibility
to check whether the 'pty' console could be used,
or it should use something else, e.g. 'nmdm' for bhyve.

Because of the complex relationships between 'serial' and 'console',
I wasn't entirely sure whether I should report 'console' or 'serial'.
Also, I wasn't sure if I needed to report anything but 'type'.
Eventually I've decided to stay close to problem I'm trying to solve,
and report only console types.

I have updated only qemu and bhyve drivers for now, as I'm not sure if
the approach is correct. I'll update other drivers if that's ok.

Also, it was surprisingly tricky to get a list of supported console
types for qemu, as the model is heavily shared between console, serials,
parallel ports and channels, and sometimes it's not obvious if there's
any difference between these devices' supported types.

Interestingly, formatdomain.html doesn't provide much information about
'console type'. I was able to find the only occurrence of non-pty
console, which is type='stdio'. I was able to find more console types
used in the test data files though.

Roman Bogorodskiy (3):
  domain_capabilities: add console capabilities
  bhyve: capabilities: report NMDM console
  qemu: capabilities: report supported console types

 src/bhyve/bhyve_capabilities.c                |  5 +++
 src/conf/domain_capabilities.c                | 12 +++++++
 src/conf/domain_capabilities.h                |  8 +++++
 src/conf/schemas/domaincaps.rng               | 10 ++++++
 src/qemu/qemu_capabilities.c                  | 32 +++++++++++++++++++
 src/qemu/qemu_capabilities.h                  |  3 ++
 tests/domaincapsdata/bhyve_basic.x86_64.xml   |  5 +++
 tests/domaincapsdata/bhyve_fbuf.x86_64.xml    |  5 +++
 tests/domaincapsdata/bhyve_uefi.x86_64.xml    |  5 +++
 .../qemu_10.0.0-q35.x86_64+amdsev.xml         | 18 +++++++++++
 .../domaincapsdata/qemu_10.0.0-q35.x86_64.xml | 18 +++++++++++
 .../qemu_10.0.0-tcg.x86_64+amdsev.xml         | 18 +++++++++++
 .../domaincapsdata/qemu_10.0.0-tcg.x86_64.xml | 18 +++++++++++
 tests/domaincapsdata/qemu_10.0.0.s390x.xml    | 15 +++++++++
 .../qemu_10.0.0.x86_64+amdsev.xml             | 18 +++++++++++
 tests/domaincapsdata/qemu_10.0.0.x86_64.xml   | 18 +++++++++++
 .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml  | 18 +++++++++++
 .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml  | 18 +++++++++++
 tests/domaincapsdata/qemu_6.2.0.ppc64.xml     | 15 +++++++++
 tests/domaincapsdata/qemu_6.2.0.x86_64.xml    | 18 +++++++++++
 .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml  | 18 +++++++++++
 .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml  | 18 +++++++++++
 tests/domaincapsdata/qemu_7.0.0.ppc64.xml     | 16 ++++++++++
 tests/domaincapsdata/qemu_7.0.0.x86_64.xml    | 18 +++++++++++
 .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml  | 18 +++++++++++
 .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml  | 18 +++++++++++
 tests/domaincapsdata/qemu_7.1.0.ppc64.xml     | 16 ++++++++++
 tests/domaincapsdata/qemu_7.1.0.x86_64.xml    | 18 +++++++++++
 .../qemu_7.2.0-hvf.x86_64+hvf.xml             | 18 +++++++++++
 .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml  | 18 +++++++++++
 .../qemu_7.2.0-tcg.x86_64+hvf.xml             | 18 +++++++++++
 .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml  | 18 +++++++++++
 tests/domaincapsdata/qemu_7.2.0.ppc.xml       | 18 +++++++++++
 tests/domaincapsdata/qemu_7.2.0.x86_64.xml    | 18 +++++++++++
 .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml  | 18 +++++++++++
 .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml  | 18 +++++++++++
 tests/domaincapsdata/qemu_8.0.0.x86_64.xml    | 18 +++++++++++
 .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml  | 18 +++++++++++
 .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml  | 18 +++++++++++
 tests/domaincapsdata/qemu_8.1.0.s390x.xml     | 15 +++++++++
 tests/domaincapsdata/qemu_8.1.0.x86_64.xml    | 18 +++++++++++
 .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml  | 18 +++++++++++
 .../qemu_8.2.0-tcg-virt.loongarch64.xml       | 18 +++++++++++
 .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml  | 18 +++++++++++
 .../qemu_8.2.0-virt.aarch64.xml               | 16 ++++++++++
 .../qemu_8.2.0-virt.loongarch64.xml           | 18 +++++++++++
 tests/domaincapsdata/qemu_8.2.0.aarch64.xml   | 16 ++++++++++
 tests/domaincapsdata/qemu_8.2.0.armv7l.xml    | 18 +++++++++++
 tests/domaincapsdata/qemu_8.2.0.s390x.xml     | 15 +++++++++
 tests/domaincapsdata/qemu_8.2.0.x86_64.xml    | 18 +++++++++++
 .../domaincapsdata/qemu_9.0.0-q35.x86_64.xml  | 18 +++++++++++
 .../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml  | 18 +++++++++++
 tests/domaincapsdata/qemu_9.0.0.sparc.xml     | 18 +++++++++++
 tests/domaincapsdata/qemu_9.0.0.x86_64.xml    | 18 +++++++++++
 .../domaincapsdata/qemu_9.1.0-q35.x86_64.xml  | 18 +++++++++++
 .../qemu_9.1.0-tcg-virt.riscv64.xml           | 18 +++++++++++
 .../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml  | 18 +++++++++++
 .../qemu_9.1.0-virt.riscv64.xml               | 18 +++++++++++
 tests/domaincapsdata/qemu_9.1.0.s390x.xml     | 15 +++++++++
 tests/domaincapsdata/qemu_9.1.0.x86_64.xml    | 18 +++++++++++
 .../qemu_9.2.0-hvf.aarch64+hvf.xml            | 16 ++++++++++
 .../qemu_9.2.0-q35.x86_64+amdsev.xml          | 18 +++++++++++
 .../domaincapsdata/qemu_9.2.0-q35.x86_64.xml  | 18 +++++++++++
 .../qemu_9.2.0-tcg.x86_64+amdsev.xml          | 18 +++++++++++
 .../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml  | 18 +++++++++++
 tests/domaincapsdata/qemu_9.2.0.s390x.xml     | 15 +++++++++
 .../qemu_9.2.0.x86_64+amdsev.xml              | 18 +++++++++++
 tests/domaincapsdata/qemu_9.2.0.x86_64.xml    | 18 +++++++++++
 68 files changed, 1119 insertions(+)

-- 
2.49.0
Re: [PATCH 0/3] domain_capabilities: add console capabilities
Posted by Michal Prívozník via Devel 3 months, 3 weeks ago
On 5/15/25 18:29, Roman Bogorodskiy wrote:
> Motivation behind this series is to give management software possibility
> to check whether the 'pty' console could be used,
> or it should use something else, e.g. 'nmdm' for bhyve.
> 
> Because of the complex relationships between 'serial' and 'console',
> I wasn't entirely sure whether I should report 'console' or 'serial'.
> Also, I wasn't sure if I needed to report anything but 'type'.
> Eventually I've decided to stay close to problem I'm trying to solve,
> and report only console types.
> 
> I have updated only qemu and bhyve drivers for now, as I'm not sure if
> the approach is correct. I'll update other drivers if that's ok.
> 
> Also, it was surprisingly tricky to get a list of supported console
> types for qemu, as the model is heavily shared between console, serials,
> parallel ports and channels, and sometimes it's not obvious if there's
> any difference between these devices' supported types.
> 
> Interestingly, formatdomain.html doesn't provide much information about
> 'console type'. I was able to find the only occurrence of non-pty
> console, which is type='stdio'. I was able to find more console types
> used in the test data files though.
> 
> Roman Bogorodskiy (3):
>   domain_capabilities: add console capabilities
>   bhyve: capabilities: report NMDM console
>   qemu: capabilities: report supported console types
> 


>  68 files changed, 1119 insertions(+)
> 

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

Michal