diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index 2d7e827d2d..77f4579910 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -3409,6 +3409,10 @@ virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, virDomainDe goto cleanup; } + /* vmx:firmware */ + if (def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_EFI) + virBufferAddLit(&buffer, "firmware = \"efi\"\n"); + if (virtualHW_version >= 7) { if (hasSCSI) { virBufferAddLit(&buffer, "pciBridge0.present = \"true\"\n"); diff --git a/tests/xml2vmxdata/xml2vmx-firmware-efi.vmx b/tests/xml2vmxdata/xml2vmx-firmware-efi.vmx new file mode 100644 index 0000000000..cc3ec9f34b --- /dev/null +++ b/tests/xml2vmxdata/xml2vmx-firmware-efi.vmx @@ -0,0 +1,11 @@ +.encoding = "UTF-8" +config.version = "8" +virtualHW.version = "4" +guestOS = "other" +uuid.bios = "56 4d 9b ef ac d9 b4 e0-c8 f0 ae a8 b9 10 35 15" +displayName = "firmware-efi" +memsize = "4" +numvcpus = "1" +floppy0.present = "false" +floppy1.present = "false" +firmware = "efi" diff --git a/tests/xml2vmxdata/xml2vmx-firmware-efi.xml b/tests/xml2vmxdata/xml2vmx-firmware-efi.xml new file mode 100644 index 0000000000..b91735ab63 --- /dev/null +++ b/tests/xml2vmxdata/xml2vmx-firmware-efi.xml @@ -0,0 +1,8 @@ + + firmware-efi + 564d9bef-acd9-b4e0-c8f0-aea8b9103515 + 4096 + + hvm + + diff --git a/tests/xml2vmxtest.c b/tests/xml2vmxtest.c index 0143c05b19..5d5dc0a518 100644 --- a/tests/xml2vmxtest.c +++ b/tests/xml2vmxtest.c @@ -295,6 +295,8 @@ mymain(void) DO_TEST("svga", "svga", 4); + DO_TEST("firmware-efi", "firmware-efi", 4); + DO_TEST("datacenterpath", "datacenterpath", 4); virObjectUnref(caps);