diff --git a/ChangeLog b/ChangeLog index 15f4ed3fc2..39b10e9ecc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,16 @@ +Mon Jul 30 12:15:43 CEST 2007 Daniel Veillard + + * src/xen_internal.c: add report of ACPI/APIC for Xen fully virt, + patch from David Lutterkort + * tests/xencapsdata/xen-i686-pae-hvm.xml + tests/xencapsdata/xen-ia64-be-hvm.xml + tests/xencapsdata/xen-ia64-hvm.xml + tests/xencapsdata/xen-x86_64-hvm.xml: this also affects a few tests + Mon Jul 30 11:59:51 CEST 2007 Daniel Veillard * src/qemu_conf.[ch] src/qemu_driver.c: add qemu/kvm drivers report - features for i686 and x86_64, patch from David Lutterkort + ACPI/APIC features for i686 and x86_64, patch from David Lutterkort Fri Jul 27 19:19:31 EST 2007 Daniel P. Berrange diff --git a/src/xen_internal.c b/src/xen_internal.c index 9f2a2a9d36..17df827faa 100644 --- a/src/xen_internal.c +++ b/src/xen_internal.c @@ -2050,6 +2050,9 @@ xenHypervisorMakeCapabilitiesXML(virConnectPtr conn ATTRIBUTE_UNUSED, virBufferPtr xml; char *xml_str; + int hv_major = hv_version >> 16; + int hv_minor = hv_version & 0xFFFF; + memset(guest_archs, 0, sizeof(guest_archs)); /* /proc/cpuinfo: flags: Intel calls HVM "vmx", AMD calls it "svm". @@ -2236,19 +2239,28 @@ xenHypervisorMakeCapabilitiesXML(virConnectPtr conn ATTRIBUTE_UNUSED, if (r == -1) goto vir_buffer_failed; } if (guest_archs[i].nonpae) { - r = virBufferAdd (xml, - "\ - \n", -1); + r = virBufferAdd (xml, " \n", -1); if (r == -1) goto vir_buffer_failed; } if (guest_archs[i].ia64_be) { - r = virBufferAdd (xml, - "\ - \n", -1); + r = virBufferAdd (xml, " \n", -1); if (r == -1) goto vir_buffer_failed; } - r = virBufferAdd (xml, - "\ + if (guest_archs[i].hvm) { + r = virBufferAdd (xml, " \n", + -1); + if (r == -1) goto vir_buffer_failed; + // In Xen 3.1.0, APIC is always on and can't be toggled + if (hv_major >= 3 && hv_minor > 0) { + r = virBufferAdd (xml, + " \n", -1); + } else { + r = virBufferAdd (xml, + " \n", -1); + } + if (r == -1) goto vir_buffer_failed; + } + r = virBufferAdd (xml, "\ \n\ \n", -1); if (r == -1) goto vir_buffer_failed; diff --git a/tests/xencapsdata/xen-i686-pae-hvm.xml b/tests/xencapsdata/xen-i686-pae-hvm.xml index a9347a9832..1c86076e5d 100644 --- a/tests/xencapsdata/xen-i686-pae-hvm.xml +++ b/tests/xencapsdata/xen-i686-pae-hvm.xml @@ -32,6 +32,8 @@ + + diff --git a/tests/xencapsdata/xen-ia64-be-hvm.xml b/tests/xencapsdata/xen-ia64-be-hvm.xml index 5e933d494d..598e646d82 100644 --- a/tests/xencapsdata/xen-ia64-be-hvm.xml +++ b/tests/xencapsdata/xen-ia64-be-hvm.xml @@ -30,6 +30,8 @@ + + diff --git a/tests/xencapsdata/xen-ia64-hvm.xml b/tests/xencapsdata/xen-ia64-hvm.xml index 61bcdf2b94..84a06634a1 100644 --- a/tests/xencapsdata/xen-ia64-hvm.xml +++ b/tests/xencapsdata/xen-ia64-hvm.xml @@ -28,6 +28,8 @@ /usr/lib/xen/boot/hvmloader + + diff --git a/tests/xencapsdata/xen-x86_64-hvm.xml b/tests/xencapsdata/xen-x86_64-hvm.xml index b8bb2b7571..df3e3d1c4d 100644 --- a/tests/xencapsdata/xen-x86_64-hvm.xml +++ b/tests/xencapsdata/xen-x86_64-hvm.xml @@ -31,6 +31,8 @@ + + @@ -45,6 +47,8 @@ /usr/lib/xen/boot/hvmloader + +