tools/libxl: Deprecate PV fields kernel, ramdisk, cmdline
authorJulien Grall <julien.grall@arm.com>
Mon, 1 Oct 2018 18:57:19 +0000 (19:57 +0100)
committerWei Liu <wei.liu2@citrix.com>
Wed, 3 Oct 2018 14:57:46 +0000 (15:57 +0100)
The PV fields kernel, ramdisk, cmdline are only there for compatibility
with old toolstack. Instead of manually copying them over to there new
field, use the deprecated_by attribute in the IDL.

Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
tools/libxl/libxl_create.c
tools/libxl/libxl_types.idl

index 580320d272d962b408a1f3c777d6c15bef4b51f9..fe97eebdeaf0b9d909b019d610b960d11835e91c 100644 (file)
@@ -368,25 +368,6 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
             b_info->shadow_memkb = 0;
         if (b_info->u.pv.slack_memkb == LIBXL_MEMKB_DEFAULT)
             b_info->u.pv.slack_memkb = 0;
-
-        /* For compatibility, fill in b_info->kernel|ramdisk|cmdline
-         * with the value in u.pv, later processing will use
-         * b_info->kernel|ramdisk|cmdline only.
-         * User with old APIs that passes u.pv.kernel|ramdisk|cmdline
-         * is not affected.
-         */
-        if (!b_info->kernel && b_info->u.pv.kernel) {
-            b_info->kernel = b_info->u.pv.kernel;
-            b_info->u.pv.kernel = NULL;
-        }
-        if (!b_info->ramdisk && b_info->u.pv.ramdisk) {
-            b_info->ramdisk = b_info->u.pv.ramdisk;
-            b_info->u.pv.ramdisk = NULL;
-        }
-        if (!b_info->cmdline && b_info->u.pv.cmdline) {
-            b_info->cmdline = b_info->u.pv.cmdline;
-            b_info->u.pv.cmdline = NULL;
-        }
         break;
     case LIBXL_DOMAIN_TYPE_PVH:
         libxl_defbool_setdefault(&b_info->u.pvh.pvshim, false);
index 2cceb8c057c1bc6ea953c5bc4af3a50b6a8c0bed..3b8f96765190771cf5295285133bb257b5710524 100644 (file)
@@ -588,12 +588,12 @@ libxl_domain_build_info = Struct("domain_build_info",[
                                        ("rdm_mem_boundary_memkb", MemKB),
                                        ("mca_caps",         uint64),
                                        ])),
-                 ("pv", Struct(None, [("kernel", string),
+                 ("pv", Struct(None, [("kernel", string, {'deprecated_by': 'kernel'}),
                                       ("slack_memkb", MemKB),
                                       ("bootloader", string, {'deprecated_by': 'bootloader'}),
                                       ("bootloader_args", libxl_string_list, {'deprecated_by': 'bootloader_args'}),
-                                      ("cmdline", string),
-                                      ("ramdisk", string),
+                                      ("cmdline", string, {'deprecated_by': 'cmdline'}),
+                                      ("ramdisk", string, {'deprecated_by': 'ramdisk'}),
                                       ("features", string, {'const': True}),
                                       # Use host's E820 for PCI passthrough.
                                       ("e820_host", libxl_defbool),