aboutsummaryrefslogtreecommitdiffstats
path: root/tools/firmware/hvmloader
diff options
context:
space:
mode:
authorPaul Durrant <paul.durrant@citrix.com>2011-11-30 07:18:11 -0800
committerPaul Durrant <paul.durrant@citrix.com>2011-11-30 07:18:11 -0800
commita6aed45cf39d2ed4ee7294c08fa0d9d54fcb683e (patch)
treed6fda8c9fe3a0abb6aab714d86c11e1ff3035c46 /tools/firmware/hvmloader
parenta9f743f88ce63a552764b2e37cf6c4c0ac53ca30 (diff)
downloadxen-a6aed45cf39d2ed4ee7294c08fa0d9d54fcb683e.tar.gz
xen-a6aed45cf39d2ed4ee7294c08fa0d9d54fcb683e.tar.bz2
xen-a6aed45cf39d2ed4ee7294c08fa0d9d54fcb683e.zip
hvmloader: Write address of VM generation id buffer into xenstore
Signed-off-by: Paul Durrant <paul.durrant@citrix.com> Committed-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'tools/firmware/hvmloader')
-rw-r--r--tools/firmware/hvmloader/acpi/build.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/firmware/hvmloader/acpi/build.c b/tools/firmware/hvmloader/acpi/build.c
index d81f1dc2a2..adb224e02f 100644
--- a/tools/firmware/hvmloader/acpi/build.c
+++ b/tools/firmware/hvmloader/acpi/build.c
@@ -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;