static int
qemuBuildSysinfoCommandLine(virCommandPtr cmd,
- virQEMUCapsPtr qemuCaps,
const virDomainDef *def)
{
size_t i;
if (def->sysinfo[i]->type != VIR_SYSINFO_FWCFG)
continue;
- if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_FW_CFG)) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("fw_cfg is not supported with this QEMU"));
- return -1;
- }
-
for (j = 0; j < def->sysinfo[i]->nfw_cfgs; j++) {
const virSysinfoFWCfgDef *f = &def->sysinfo[i]->fw_cfgs[j];
g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
if (qemuBuildSmbiosCommandLine(cmd, driver, def) < 0)
return NULL;
- if (qemuBuildSysinfoCommandLine(cmd, qemuCaps, def) < 0)
+ if (qemuBuildSysinfoCommandLine(cmd, def) < 0)
return NULL;
if (qemuBuildVMGenIDCommandLine(cmd, def) < 0)
static int
qemuValidateDomainDefSysinfo(const virSysinfoDef *def,
- virQEMUCapsPtr qemuCaps G_GNUC_UNUSED)
+ virQEMUCapsPtr qemuCaps)
{
size_t i;
+ if (def->type == VIR_SYSINFO_FWCFG &&
+ !virQEMUCapsGet(qemuCaps, QEMU_CAPS_FW_CFG)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("fw_cfg is not supported with this QEMU"));
+ return -1;
+ }
+
for (i = 0; i < def->nfw_cfgs; i++) {
const virSysinfoFWCfgDef *f = &def->fw_cfgs[i];
QEMU_CAPS_DEVICE_IVSHMEM_PLAIN, QEMU_CAPS_DEVICE_IVSHMEM_DOORBELL);
DO_TEST("smbios", NONE);
DO_TEST("smbios-multiple-type2", NONE);
- DO_TEST("smbios-type-fwcfg", NONE);
+ DO_TEST("smbios-type-fwcfg", QEMU_CAPS_FW_CFG);
DO_TEST_CAPS_LATEST("os-firmware-bios");
DO_TEST_CAPS_LATEST("os-firmware-efi");