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

[Xen-changelog] [xen-unstable] hvm: Remove VM genearation ID device and incr_generationid from build_info.


  • To: xen-changelog@xxxxxxxxxxxxxxxxxxx
  • From: Xen patchbot-unstable <patchbot@xxxxxxx>
  • Date: Thu, 23 Aug 2012 05:22:09 +0000
  • Delivery-date: Thu, 23 Aug 2012 05:22:20 +0000
  • List-id: "Change log for Mercurial \(receive only\)" <xen-changelog.lists.xen.org>

# HG changeset patch
# User Paul Durrant <paul.durrant@xxxxxxxxxx>
# Date 1345670787 -3600
# Node ID e1edef2013b86bc01cd8ed9abd0f335e08b5d1b6
# Parent  03507cc3a1ee28c6f88e5a01a03077082bd99b58
hvm: 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>
Committed-by: Keir Fraser <keir@xxxxxxx>
---


diff -r 03507cc3a1ee -r e1edef2013b8 tools/firmware/hvmloader/acpi/dsdt.asl
--- a/tools/firmware/hvmloader/acpi/dsdt.asl    Wed Aug 22 22:20:42 2012 +0100
+++ b/tools/firmware/hvmloader/acpi/dsdt.asl    Wed Aug 22 22:26:27 2012 +0100
@@ -396,31 +396,6 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, 
                         IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
                         IRQNoFlags () {7}
                     })
-                } 
-
-                Device(VGID) {
-                    Name(_HID, EisaID ("XEN0000"))
-                    Name(_UID, 0x00)
-                    Name(_CID, "VM_Gen_Counter")
-                    Name(_DDN, "VM_Gen_Counter")
-                    Method(_STA, 0, NotSerialized)
-                    {
-                        If(LEqual(\_SB.VGIA, 0x00000000)) {
-                            Return(0x00)
-                        } Else {
-                            Return(0x0F)
-                        }
-                    }
-                    Name(PKG, Package ()
-                    {
-                        0x00000000,
-                        0x00000000
-                    })
-                    Method(ADDR, 0, NotSerialized)
-                    {
-                        Store(\_SB.VGIA, Index(PKG, 0))
-                        Return(PKG)
-                    }
                 }
             }
         }
diff -r 03507cc3a1ee -r e1edef2013b8 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c        Wed Aug 22 22:20:42 2012 +0100
+++ b/tools/libxl/libxl_create.c        Wed Aug 22 22:26:27 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 03507cc3a1ee -r e1edef2013b8 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl       Wed Aug 22 22:20:42 2012 +0100
+++ b/tools/libxl/libxl_types.idl       Wed Aug 22 22:26:27 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 03507cc3a1ee -r e1edef2013b8 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Wed Aug 22 22:20:42 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c  Wed Aug 22 22:26:27 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 03507cc3a1ee -r e1edef2013b8 tools/libxl/xl_sxp.c
--- a/tools/libxl/xl_sxp.c      Wed Aug 22 22:20:42 2012 +0100
+++ b/tools/libxl/xl_sxp.c      Wed Aug 22 22:26:27 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-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

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