libxl/arm: fix guest type conversion
PATCH v2 1/1 libxl/arm: fix guest type conversion
Commit 359970fd8b ("tools/libxl: Switch Arm guest type to PVH") missed changing the type field in c_info. This issue didn't surface until ef72c93df9 which made creating PV guest on Arm unusable.
---
Cc: Stefano Stabellini <[email protected]>
Cc: Julien Grall <[email protected]>
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(-)
tools/libxl/libxl_arm.c +1 -3
@@ -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));
tools/libxl/libxl_create.c +10 -0
@@ -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);
Signature · 7 lines
2.11.0 _______________________________________________ Xen-devel mailing list [email protected] https://lists.xenproject.org/mailman/listinfo/xen-devel
Hi,
Quoted 6 lines · Wei Liu
Commit
359970fd8b("tools/libxl: Switch Arm guest type to PVH") missed changing the type field inc_info. This issue didn't surface untilef72c93df9which made creating PV guest on Arm unusable.Signed-off-by Wei Liu <[email protected]>Tested-by Julien Grall <[email protected]>
FWIW:
Cheers,
Quoted 49 lines
---
Cc: Stefano Stabellini <[email protected]>
Cc: Julien Grall <[email protected]>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(-)tools/libxl/libxl_arm.c +1
-3@@ -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));tools/libxl/libxl_create.c +10
-0@@ -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);
Signature · 6 lines
Julien Grall _______________________________________________ Xen-devel mailing list [email protected] https://lists.xenproject.org/mailman/listinfo/xen-devel
Wei Liu writes ("[PATCH v2] libxl/arm: fix guest type conversion"):
Quoted 3 lines
Commit
359970fd8b("tools/libxl: Switch Arm guest type to PVH") missed changing the type field inc_info. This issue didn't surface untilef72c93df9which made creating PV guest on Arm unusable.
...
tools/libxl/libxl_create.c int libxl__domain_create_info_setdefault(libxl__gc *gc, · line 46
Quoted 9 lines
tools/libxl/libxl_create.c +9
-0+#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
Please, no #ifdefs in the main part of the code. Maybe I should have the Makefile throw a fit about this.
I think you may need to change
libxl__arch_domain_build_info_setdefault
to
libxl__arch_domain_create_info_setdefault
Sorry,
Ian.
_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel