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

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



On Tue, 2012-08-21 at 16:54 +0100, Paul Durrant wrote:
> # 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>

Tools part looks ok to me:
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

Only thing I would change is to add a comment to the "1" parameter to
libxl__xc_domain_restore, but I can do that as I commit.

If Keir is happy with the hvmloader change then I'll commit.

> 
> 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



_______________________________________________
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®.