---
Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>
Cc: Julien Grall <julien.grall@xxxxxxx>
v2: avoid duplicating error messages.
This should fix libvirt breakage.
---
tools/libxl/libxl_arm.c | 4 +---
tools/libxl/libxl_create.c | 10 ++++++++++
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/tools/libxl/libxl_arm.c b/tools/libxl/libxl_arm.c
index 25dc3defc6..6f2dcab489 100644
--- a/tools/libxl/libxl_arm.c
+++ b/tools/libxl/libxl_arm.c
@@ -1128,9 +1128,7 @@ void libxl__arch_domain_build_info_setdefault(libxl__gc
*gc,
if (b_info->type != LIBXL_DOMAIN_TYPE_PV)
return;
- LOG(WARN, "Converting PV guest to PVH.");
- LOG(WARN, "Arm guest are now PVH.");
- LOG(WARN, "Please fix your configuration file/toolstack.");
+ LOG(DEBUG, "Converting build_info to PVH");
/* Re-initialize type to PVH and all associated fields to defaults. */
memset(&b_info->u, '\0', sizeof(b_info->u));
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 4bb750e951..311957f87c 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -35,6 +35,16 @@ int libxl__domain_create_info_setdefault(libxl__gc *gc,
return ERROR_INVAL;
}
+#if defined(__arm__) || defined(__aarch64__)
+ if (c_info->type == LIBXL_DOMAIN_TYPE_PV) {
+ LOG(WARN, "Converting PV guest to PVH.");
+ LOG(WARN, "Arm guest are now PVH.");
+ LOG(WARN, "Please fix your configuration file/toolstack.");
+
+ c_info->type = LIBXL_DOMAIN_TYPE_PVH;
+ }
+#endif
+
if (c_info->type != LIBXL_DOMAIN_TYPE_PV) {
libxl_defbool_setdefault(&c_info->hap, true);
libxl_defbool_setdefault(&c_info->oos, true);