From: Anthony PERARD Date: Thu, 18 Jan 2024 14:40:08 +0000 (+0000) Subject: libxl_conf: Parse "vkb_device" X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=b454ea78c4061bd75254d6eb67b128d1b9c7d54a;p=people%2Faperard%2Flibvirt.git libxl_conf: Parse "vkb_device" Needed to work around issue with Debian bookworm boot. Signed-off-by: Anthony PERARD --- diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index 62e1be6672..5f7ca5d55f 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -716,6 +716,11 @@ libxlMakeDomBuildInfo(virDomainDef *def, libxl_defbool_set(&b_info->u.hvm.vnc.enable, 0); libxl_defbool_set(&b_info->u.hvm.sdl.enable, 0); +#ifdef LIBXL_HAVE_BUILDINFO_VKB_DEVICE + if (cfg->has_vkb_device) + libxl_defbool_set(&b_info->u.hvm.vkb_device, cfg->vkb_device); +#endif + for (i = 0; i < def->ninputs; i++) { char **usbdevice; @@ -1830,6 +1835,7 @@ int libxlDriverConfigLoadFile(libxlDriverConfig *cfg, const char *filename) { g_autoptr(virConf) conf = NULL; + int r; /* Check the file is readable before opening it, otherwise * libvirt emits an error. @@ -1858,6 +1864,12 @@ int libxlDriverConfigLoadFile(libxlDriverConfig *cfg, if (virConfGetValueBool(conf, "nested_hvm", &cfg->nested_hvm) < 0) return -1; + r = virConfGetValueBool(conf, "vkb_device", &cfg->vkb_device); + if (r == 1) + cfg->has_vkb_device = true; + if (r < 0) + return -1; + return 0; } diff --git a/src/libxl/libxl_conf.h b/src/libxl/libxl_conf.h index 7087b41079..c24a665649 100644 --- a/src/libxl/libxl_conf.h +++ b/src/libxl/libxl_conf.h @@ -101,6 +101,9 @@ struct _libxlDriverConfig { virFirmware **firmwares; size_t nfirmwares; + + bool has_vkb_device; + bool vkb_device; }; G_DEFINE_AUTOPTR_CLEANUP_FUNC(libxlDriverConfig, virObjectUnref);