[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] Remove VM genearation ID device and incr_generationid from build_info



# HG changeset patch
# User Paul Durrant <paul.durrant@xxxxxxxxxx>
# Date 1345564202 -3600
# Node ID 4b1f399193f5e363c2b47a3079ac4d3f61ee9a8f
# Parent  6d56e31fe1e1dc793379d662a36ff1731760eb0c
Remove VM genearation ID device and incr_generationid from build_info.

Microsoft have now published their VM generation ID specification at
https://www.microsoft.com/en-us/download/details.aspx?id=30707.
It differs from the original specification upon which I based my
implementation in several key areas. Particularly, it is no longer
an incrementing 64-bit counter and so this patch is to remove
the incr_generationid field from the build_info and also disable the
ACPI device before 4.2 is released.

I will follow up with further patches to implement the VM generation
ID to the new specification.

Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>

diff -r 6d56e31fe1e1 -r 4b1f399193f5 tools/firmware/hvmloader/acpi/dsdt.asl
--- a/tools/firmware/hvmloader/acpi/dsdt.asl    Wed Aug 15 09:41:21 2012 +0100
+++ b/tools/firmware/hvmloader/acpi/dsdt.asl    Tue Aug 21 16:50:02 2012 +0100
@@ -398,6 +398,7 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, 
                     })
                 } 
 
+                /*
                 Device(VGID) {
                     Name(_HID, EisaID ("XEN0000"))
                     Name(_UID, 0x00)
@@ -422,6 +423,7 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, 
                         Return(PKG)
                     }
                 }
+                */
             }
         }
     }
diff -r 6d56e31fe1e1 -r 4b1f399193f5 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c        Wed Aug 15 09:41:21 2012 +0100
+++ b/tools/libxl/libxl_create.c        Tue Aug 21 16:50:02 2012 +0100
@@ -248,7 +248,6 @@ int libxl__domain_build_info_setdefault(
         libxl_defbool_setdefault(&b_info->u.hvm.hpet,               true);
         libxl_defbool_setdefault(&b_info->u.hvm.vpt_align,          true);
         libxl_defbool_setdefault(&b_info->u.hvm.nested_hvm,         false);
-        libxl_defbool_setdefault(&b_info->u.hvm.incr_generationid,  false);
         libxl_defbool_setdefault(&b_info->u.hvm.usb,                false);
         libxl_defbool_setdefault(&b_info->u.hvm.xen_platform_pci,   true);
 
@@ -758,27 +757,24 @@ static void domcreate_bootloader_done(li
 
     /* read signature */
     int hvm, pae, superpages;
-    int no_incr_generationid;
     switch (info->type) {
     case LIBXL_DOMAIN_TYPE_HVM:
         hvm = 1;
         superpages = 1;
         pae = libxl_defbool_val(info->u.hvm.pae);
-        no_incr_generationid = 
!libxl_defbool_val(info->u.hvm.incr_generationid);
         callbacks->toolstack_restore = libxl__toolstack_restore;
         break;
     case LIBXL_DOMAIN_TYPE_PV:
         hvm = 0;
         superpages = 0;
         pae = 1;
-        no_incr_generationid = 0;
         break;
     default:
         rc = ERROR_INVAL;
         goto out;
     }
     libxl__xc_domain_restore(egc, dcs,
-                             hvm, pae, superpages, no_incr_generationid);
+                             hvm, pae, superpages, 1);
     return;
 
  out:
diff -r 6d56e31fe1e1 -r 4b1f399193f5 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl       Wed Aug 15 09:41:21 2012 +0100
+++ b/tools/libxl/libxl_types.idl       Tue Aug 21 16:50:02 2012 +0100
@@ -292,7 +292,6 @@ libxl_domain_build_info = Struct("domain
                                        ("vpt_align",        libxl_defbool),
                                        ("timer_mode",       libxl_timer_mode),
                                        ("nested_hvm",       libxl_defbool),
-                                       ("incr_generationid",libxl_defbool),
                                        ("nographic",        libxl_defbool),
                                        ("vga",              
libxl_vga_interface_info),
                                        ("vnc",              libxl_vnc_info),
diff -r 6d56e31fe1e1 -r 4b1f399193f5 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Wed Aug 15 09:41:21 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c  Tue Aug 21 16:50:02 2012 +0100
@@ -139,7 +139,6 @@ struct domain_create {
     const char *restore_file;
     int migrate_fd; /* -1 means none */
     char **migration_domname_r; /* from malloc */
-    int incr_generationid;
 };
 
 
@@ -1759,10 +1758,6 @@ static int create_domain(struct domain_c
         }
     }
 
-    if (d_config.c_info.type == LIBXL_DOMAIN_TYPE_HVM)
-        libxl_defbool_set(&d_config.b_info.u.hvm.incr_generationid,
-                          dom_info->incr_generationid);
-
     if (debug || dom_info->dryrun)
         printf_info(default_output_format, -1, &d_config);
 
@@ -3183,7 +3178,6 @@ static void migrate_receive(int debug, i
     dom_info.paused = 1;
     dom_info.migrate_fd = recv_fd;
     dom_info.migration_domname_r = &migration_domname;
-    dom_info.incr_generationid = 0;
 
     rc = create_domain(&dom_info);
     if (rc < 0) {
@@ -3364,7 +3358,6 @@ int main_restore(int argc, char **argv)
     dom_info.vnc = vnc;
     dom_info.vncautopass = vncautopass;
     dom_info.console_autoconnect = console_autoconnect;
-    dom_info.incr_generationid = 1;
 
     rc = create_domain(&dom_info);
     if (rc < 0)
@@ -3766,7 +3759,6 @@ int main_create(int argc, char **argv)
     dom_info.vnc = vnc;
     dom_info.vncautopass = vncautopass;
     dom_info.console_autoconnect = console_autoconnect;
-    dom_info.incr_generationid = 0;
 
     rc = create_domain(&dom_info);
     if (rc < 0)
diff -r 6d56e31fe1e1 -r 4b1f399193f5 tools/libxl/xl_sxp.c
--- a/tools/libxl/xl_sxp.c      Wed Aug 15 09:41:21 2012 +0100
+++ b/tools/libxl/xl_sxp.c      Tue Aug 21 16:50:02 2012 +0100
@@ -108,8 +108,6 @@ void printf_info_sexp(int domid, libxl_d
                libxl_timer_mode_to_string(b_info->u.hvm.timer_mode));
         printf("\t\t\t(nestedhvm %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.nested_hvm));
-        printf("\t\t\t(no_incr_generationid %s)\n",
-               libxl_defbool_to_string(b_info->u.hvm.incr_generationid));
         printf("\t\t\t(stdvga %s)\n", b_info->u.hvm.vga.kind ==
                                       LIBXL_VGA_INTERFACE_TYPE_STD ?
                                       "True" : "False");

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.