Add formal internal capabilities API and update drivers to use it

This commit is contained in:
Daniel P. Berrange
2008-02-27 04:35:08 +00:00
parent 727c5601ec
commit 63bc5dd3e1
29 changed files with 1519 additions and 703 deletions

View File

@@ -125,6 +125,8 @@ main(int argc, char **argv)
if (!abs_top_srcdir)
return 1;
driver.caps = qemudCapsInit();
if (virtTestRun("QEMU XML-2-ARGV minimal",
1, testCompareXMLToArgvHelper, "minimal") < 0)
ret = -1;
@@ -190,6 +192,8 @@ main(int argc, char **argv)
ret = -1;
virCapabilitiesFree(driver.caps);
exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE);
}

View File

@@ -88,6 +88,9 @@ main(int argc, char **argv)
if (!abs_top_srcdir)
return 1;
driver.caps = qemudCapsInit();
if (virtTestRun("QEMU XML-2-ARGV minimal",
1, testCompareXMLToXMLHelper, "minimal") < 0)
ret = -1;
@@ -152,6 +155,7 @@ main(int argc, char **argv)
1, testCompareXMLToXMLHelper, "net-user") < 0)
ret = -1;
virCapabilitiesFree(driver.caps);
exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE);
}

View File

@@ -1,4 +1,5 @@
<capabilities>
<host>
<cpu>
<arch>i686</arch>
@@ -16,9 +17,12 @@
<guest>
<os_type>xen</os_type>
<arch name="i686">
<arch name='i686'>
<wordsize>32</wordsize>
<domain type="xen"></domain>
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
<machine>xenpv</machine>
<domain type='xen'>
</domain>
</arch>
<features>
<pae/>
@@ -27,13 +31,13 @@
<guest>
<os_type>hvm</os_type>
<arch name="i686">
<arch name='i686'>
<wordsize>32</wordsize>
<domain type="xen"></domain>
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
<machine>pc</machine>
<machine>isapc</machine>
<loader>/usr/lib/xen/boot/hvmloader</loader>
<machine>xenfv</machine>
<domain type='xen'>
</domain>
</arch>
<features>
<pae/>
@@ -42,4 +46,5 @@
<apic default='on' toggle='yes'/>
</features>
</guest>
</capabilities>

View File

@@ -1,4 +1,5 @@
<capabilities>
<host>
<cpu>
<arch>i686</arch>
@@ -16,12 +17,16 @@
<guest>
<os_type>xen</os_type>
<arch name="i686">
<arch name='i686'>
<wordsize>32</wordsize>
<domain type="xen"></domain>
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
<machine>xenpv</machine>
<domain type='xen'>
</domain>
</arch>
<features>
<pae/>
</features>
</guest>
</capabilities>

View File

@@ -1,9 +1,8 @@
<capabilities>
<host>
<cpu>
<arch>i686</arch>
<features>
</features>
</cpu>
<migration_features>
<live/>
@@ -15,12 +14,16 @@
<guest>
<os_type>xen</os_type>
<arch name="i686">
<arch name='i686'>
<wordsize>32</wordsize>
<domain type="xen"></domain>
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
<machine>xenpv</machine>
<domain type='xen'>
</domain>
</arch>
<features>
<nonpae/>
</features>
</guest>
</capabilities>

View File

@@ -1,9 +1,8 @@
<capabilities>
<host>
<cpu>
<arch>ia64</arch>
<features>
</features>
</cpu>
<migration_features>
<live/>
@@ -15,9 +14,12 @@
<guest>
<os_type>xen</os_type>
<arch name="ia64">
<arch name='ia64'>
<wordsize>64</wordsize>
<domain type="xen"></domain>
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
<machine>xenpv</machine>
<domain type='xen'>
</domain>
</arch>
<features>
<ia64_be/>
@@ -26,13 +28,13 @@
<guest>
<os_type>hvm</os_type>
<arch name="ia64">
<arch name='ia64'>
<wordsize>64</wordsize>
<domain type="xen"></domain>
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
<machine>pc</machine>
<machine>isapc</machine>
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
<loader>/usr/lib/xen/boot/hvmloader</loader>
<machine>xenfv</machine>
<domain type='xen'>
</domain>
</arch>
<features>
<ia64_be/>
@@ -40,4 +42,5 @@
<apic default='on' toggle='yes'/>
</features>
</guest>
</capabilities>

View File

@@ -1,9 +1,8 @@
<capabilities>
<host>
<cpu>
<arch>ia64</arch>
<features>
</features>
</cpu>
<migration_features>
<live/>
@@ -15,12 +14,16 @@
<guest>
<os_type>xen</os_type>
<arch name="ia64">
<arch name='ia64'>
<wordsize>64</wordsize>
<domain type="xen"></domain>
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
<machine>xenpv</machine>
<domain type='xen'>
</domain>
</arch>
<features>
<ia64_be/>
</features>
</guest>
</capabilities>

View File

@@ -1,9 +1,8 @@
<capabilities>
<host>
<cpu>
<arch>ia64</arch>
<features>
</features>
</cpu>
<migration_features>
<live/>
@@ -15,27 +14,29 @@
<guest>
<os_type>xen</os_type>
<arch name="ia64">
<arch name='ia64'>
<wordsize>64</wordsize>
<domain type="xen"></domain>
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
<machine>xenpv</machine>
<domain type='xen'>
</domain>
</arch>
<features>
</features>
</guest>
<guest>
<os_type>hvm</os_type>
<arch name="ia64">
<arch name='ia64'>
<wordsize>64</wordsize>
<domain type="xen"></domain>
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
<machine>pc</machine>
<machine>isapc</machine>
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
<loader>/usr/lib/xen/boot/hvmloader</loader>
<machine>xenfv</machine>
<domain type='xen'>
</domain>
</arch>
<features>
<acpi default='on' toggle='yes'/>
<apic default='on' toggle='yes'/>
</features>
</guest>
</capabilities>

View File

@@ -1,9 +1,8 @@
<capabilities>
<host>
<cpu>
<arch>ia64</arch>
<features>
</features>
</cpu>
<migration_features>
<live/>
@@ -15,11 +14,13 @@
<guest>
<os_type>xen</os_type>
<arch name="ia64">
<arch name='ia64'>
<wordsize>64</wordsize>
<domain type="xen"></domain>
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
<machine>xenpv</machine>
<domain type='xen'>
</domain>
</arch>
<features>
</features>
</guest>
</capabilities>

View File

@@ -1,9 +1,8 @@
<capabilities>
<host>
<cpu>
<arch>ppc64</arch>
<features>
</features>
</cpu>
<migration_features>
<live/>
@@ -15,11 +14,13 @@
<guest>
<os_type>xen</os_type>
<arch name="ppc64">
<arch name='ppc64'>
<wordsize>64</wordsize>
<domain type="xen"></domain>
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
<machine>xenpv</machine>
<domain type='xen'>
</domain>
</arch>
<features>
</features>
</guest>
</capabilities>

View File

@@ -1,4 +1,5 @@
<capabilities>
<host>
<cpu>
<arch>x86_64</arch>
@@ -16,23 +17,24 @@
<guest>
<os_type>xen</os_type>
<arch name="x86_64">
<arch name='x86_64'>
<wordsize>64</wordsize>
<domain type="xen"></domain>
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
<machine>xenpv</machine>
<domain type='xen'>
</domain>
</arch>
<features>
</features>
</guest>
<guest>
<os_type>hvm</os_type>
<arch name="i686">
<arch name='i686'>
<wordsize>32</wordsize>
<domain type="xen"></domain>
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
<machine>pc</machine>
<machine>isapc</machine>
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
<loader>/usr/lib/xen/boot/hvmloader</loader>
<machine>xenfv</machine>
<domain type='xen'>
</domain>
</arch>
<features>
<pae/>
@@ -44,17 +46,18 @@
<guest>
<os_type>hvm</os_type>
<arch name="x86_64">
<arch name='x86_64'>
<wordsize>64</wordsize>
<domain type="xen"></domain>
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
<machine>pc</machine>
<machine>isapc</machine>
<loader>/usr/lib/xen/boot/hvmloader</loader>
<machine>xenfv</machine>
<domain type='xen'>
</domain>
</arch>
<features>
<acpi default='on' toggle='yes'/>
<apic default='on' toggle='yes'/>
</features>
</guest>
</capabilities>

View File

@@ -1,4 +1,5 @@
<capabilities>
<host>
<cpu>
<arch>x86_64</arch>
@@ -16,11 +17,13 @@
<guest>
<os_type>xen</os_type>
<arch name="x86_64">
<arch name='x86_64'>
<wordsize>64</wordsize>
<domain type="xen"></domain>
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
<machine>xenpv</machine>
<domain type='xen'>
</domain>
</arch>
<features>
</features>
</guest>
</capabilities>

View File

@@ -50,7 +50,8 @@ static int testCompareFiles(const char *hostmachine,
if (!(actualxml = xenHypervisorMakeCapabilitiesXML(NULL, hostmachine, fp1, fp2)))
goto fail;
if (getenv("DEBUG_TESTS")) {
if (getenv("DEBUG_TESTS") &&
STRNEQ(expectxml, actualxml)) {
printf("In test file %s:\n", capabilities);
printf("Expect %d '%s'\n", (int)strlen(expectxml), expectxml);
printf("Actual %d '%s'\n", (int)strlen(actualxml), actualxml);