From: Roman Bogorodskiy Date: Sat, 24 May 2025 14:00:04 +0000 (+0200) Subject: libxl: capabilities: report supported console types X-Git-Tag: v11.5.0-rc1~75 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6c15c1e6b20df6832c65e709d1565ba2149174b9;p=thirdparty%2Flibvirt.git libxl: capabilities: report supported console types Extend domain capabilities with information about the supported console device types. Signed-off-by: Roman Bogorodskiy Reviewed-by: Michal Privoznik --- diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c index 522256777d..6aca4075e7 100644 --- a/src/libxl/libxl_capabilities.c +++ b/src/libxl/libxl_capabilities.c @@ -628,6 +628,25 @@ libxlMakeDomainDeviceHostdevCaps(virDomainCapsDeviceHostdev *dev) return 0; } +static int +libxlMakeDomainDeviceConsoleCaps(virDomainCapsDeviceConsole *console) +{ + console->supported = VIR_TRISTATE_BOOL_YES; + console->type.report = true; + VIR_DOMAIN_CAPS_ENUM_SET(console->type, + VIR_DOMAIN_CHR_TYPE_DEV, + VIR_DOMAIN_CHR_TYPE_FILE, + VIR_DOMAIN_CHR_TYPE_PIPE, + VIR_DOMAIN_CHR_TYPE_PTY, + VIR_DOMAIN_CHR_TYPE_STDIO, + VIR_DOMAIN_CHR_TYPE_TCP, + VIR_DOMAIN_CHR_TYPE_UDP, + VIR_DOMAIN_CHR_TYPE_UNIX, + VIR_DOMAIN_CHR_TYPE_VC); + + return 0; +} + virCaps * libxlMakeCapabilities(libxl_ctx *ctx) { @@ -672,6 +691,7 @@ libxlMakeDomainCapabilities(virDomainCaps *domCaps, virDomainCapsDeviceGraphics *graphics = &domCaps->graphics; virDomainCapsDeviceVideo *video = &domCaps->video; virDomainCapsDeviceHostdev *hostdev = &domCaps->hostdev; + virDomainCapsDeviceConsole *console = &domCaps->console; if (STREQ(domCaps->machine, "xenfv")) domCaps->maxvcpus = HVM_MAX_VCPUS; @@ -681,7 +701,8 @@ libxlMakeDomainCapabilities(virDomainCaps *domCaps, if (libxlMakeDomainOSCaps(domCaps->machine, os, firmwares, nfirmwares) < 0 || libxlMakeDomainDeviceDiskCaps(disk) < 0 || libxlMakeDomainDeviceGraphicsCaps(graphics) < 0 || - libxlMakeDomainDeviceVideoCaps(video) < 0) + libxlMakeDomainDeviceVideoCaps(video) < 0 || + libxlMakeDomainDeviceConsoleCaps(console)) return -1; if (STRNEQ(domCaps->machine, "xenpvh") && libxlMakeDomainDeviceHostdevCaps(hostdev) < 0) diff --git a/tests/domaincapsdata/libxl-xenfv.xml b/tests/domaincapsdata/libxl-xenfv.xml index c71d759517..45887c5fa3 100644 --- a/tests/domaincapsdata/libxl-xenfv.xml +++ b/tests/domaincapsdata/libxl-xenfv.xml @@ -70,6 +70,19 @@ xen + + + vc + pty + dev + file + pipe + stdio + udp + tcp + unix + + diff --git a/tests/domaincapsdata/libxl-xenpv.xml b/tests/domaincapsdata/libxl-xenpv.xml index 8ae2370b7e..50be0c5cec 100644 --- a/tests/domaincapsdata/libxl-xenpv.xml +++ b/tests/domaincapsdata/libxl-xenpv.xml @@ -60,6 +60,19 @@ xen + + + vc + pty + dev + file + pipe + stdio + udp + tcp + unix + +