}
va_hvm = (struct hvm_info_table *)(va_map + HVM_INFO_OFFSET);
+#ifndef XEN_BRANCH_3_4
memset(va_hvm, 0, sizeof(*va_hvm));
strncpy(va_hvm->signature, "HVM INFO", 8);
va_hvm->length = sizeof(struct hvm_info_table);
+#endif
va_hvm->acpi_enabled = acpi;
va_hvm->apic_mode = apic;
va_hvm->nr_vcpus = vcpus;
for (i = 0, sum = 0; i < va_hvm->length; i++)
sum += ((uint8_t *) va_hvm)[i];
+#ifndef XEN_BRANCH_3_4
va_hvm->checksum = -sum;
+#else
+ va_hvm->checksum -= sum;
+#endif
munmap(va_map, XC_PAGE_SIZE);
xc_get_hvm_param(handle, domid, HVM_PARAM_STORE_PFN, store_mfn);