hvmloader: Write address of VM generation id buffer into xenstore
authorPaul Durrant <paul.durrant@citrix.com>
Wed, 30 Nov 2011 15:18:11 +0000 (07:18 -0800)
committerPaul Durrant <paul.durrant@citrix.com>
Wed, 30 Nov 2011 15:18:11 +0000 (07:18 -0800)
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
tools/firmware/hvmloader/acpi/build.c

index d81f1dc2a26cad468430e8529b7210afc0efc2f2..adb224e02f455145df79fcec2eccd1f6e074d5bf 100644 (file)
@@ -301,10 +301,16 @@ unsigned long new_vm_gid(void)
 {
     uint64_t gid;
     unsigned char *buf;
+    char addr[11];
 
     buf = mem_alloc(8, 8);
     if (!buf) return 0;
 
+    if ( snprintf(addr, sizeof(addr), "0x%lx", virt_to_phys(buf))
+         >= sizeof(addr) )
+        return 0;
+    xenstore_write("data/generation-id", addr);
+
     gid = strtoll(xenstore_read("platform/generation-id", "0"), NULL, 0);
     *(uint64_t *)buf = gid;