When a domain configured with "<os firmware='efi'/>", autofill not only
loader/firmware configuration, but also nvram.
This also fixes the `scripts/domain/405-ovmf-nvram-efi.t` test in
libvirt-tck for bhyve.
Signed-off-by: Roman Bogorodskiy <bogorodskiy@gmail.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
/* otherwise we want to reset and re-populate the definition */
virObjectUnref(loader->nvram);
} else {
/* otherwise we want to reset and re-populate the definition */
virObjectUnref(loader->nvram);
} else {
- /* Also do nothing if NVRAM is not requested */
- return;
+ /* Only add nvram for "<os firmware='efi'/>" */
+ if (def->os.firmware != VIR_DOMAIN_OS_DEF_FIRMWARE_EFI)
+ return;
}
loader->nvram = virStorageSourceNew();
}
loader->nvram = virStorageSourceNew();
-H \
-P \
-s 0:0,hostbridge \
-H \
-P \
-s 0:0,hostbridge \
--l bootrom,fakefirmwaredir/BHYVE_UEFI.fd \
+-l bootrom,fakefirmwaredir/BHYVE_UEFI.fd,fakenvramdir/bhyve_VARS.fd \
-s 1:0,lpc \
-s 2:0,ahci,hd:/tmp/freebsd.img \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
-s 1:0,lpc \
-s 2:0,ahci,hd:/tmp/freebsd.img \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \