[libvirt] [PATCH v3 1/2] qemu: Add AAVMF32 to the list of known UEFIs
John Ferlan
jferlan at redhat.com
Fri Jul 21 18:51:18 UTC 2017
On 07/21/2017 06:52 AM, Andrea Bolognani wrote:
> On Thu, 2017-07-20 at 13:56 -0600, dann frazier wrote:
>> @@ -131,6 +131,8 @@ void qemuDomainCmdlineDefFree(qemuDomainCmdlineDefPtr def)
>> #define VIR_QEMU_OVMF_SEC_NVRAM_PATH "/usr/share/OVMF/OVMF_VARS.fd"
>> #define VIR_QEMU_AAVMF_LOADER_PATH "/usr/share/AAVMF/AAVMF_CODE.fd"
>> #define VIR_QEMU_AAVMF_NVRAM_PATH "/usr/share/AAVMF/AAVMF_VARS.fd"
>> +#define VIR_QEMU_AAVMF32_LOADER_PATH "/usr/share/AAVMF/AAVMF32_CODE.fd"
>> +#define VIR_QEMU_AAVMF32_NVRAM_PATH "/usr/share/AAVMF/AAVMF32_VARS.fd"
>>
>> virQEMUDriverConfigPtr virQEMUDriverConfigNew(bool privileged)
>> {
>> @@ -335,11 +337,11 @@ virQEMUDriverConfigPtr virQEMUDriverConfigNew(bool privileged)
>> goto error;
>>
>> #else
>> - if (VIR_ALLOC_N(cfg->firmwares, 3) < 0)
>> + if (VIR_ALLOC_N(cfg->firmwares, 4) < 0)
>> goto error;
>> - cfg->nfirmwares = 3;
>> + cfg->nfirmwares = 4;
>> if (VIR_ALLOC(cfg->firmwares[0]) < 0 || VIR_ALLOC(cfg->firmwares[1]) < 0 ||
>> - VIR_ALLOC(cfg->firmwares[2]) < 0)
>> + VIR_ALLOC(cfg->firmwares[2]) < 0 || VIR_ALLOC(cfg->firmwares[3]) < 0)
>> goto error;
>>
>> if (VIR_STRDUP(cfg->firmwares[0]->name, VIR_QEMU_AAVMF_LOADER_PATH) < 0 ||
>> @@ -347,7 +349,9 @@ virQEMUDriverConfigPtr virQEMUDriverConfigNew(bool privileged)
>> VIR_STRDUP(cfg->firmwares[1]->name, VIR_QEMU_OVMF_LOADER_PATH) < 0 ||
>> VIR_STRDUP(cfg->firmwares[1]->nvram, VIR_QEMU_OVMF_NVRAM_PATH) < 0 ||
>> VIR_STRDUP(cfg->firmwares[2]->name, VIR_QEMU_OVMF_SEC_LOADER_PATH) < 0 ||
>> - VIR_STRDUP(cfg->firmwares[2]->nvram, VIR_QEMU_OVMF_SEC_NVRAM_PATH) < 0)
>> + VIR_STRDUP(cfg->firmwares[2]->nvram, VIR_QEMU_OVMF_SEC_NVRAM_PATH) < 0 ||
>> + VIR_STRDUP(cfg->firmwares[3]->name, VIR_QEMU_AAVMF32_LOADER_PATH) < 0 ||
>> + VIR_STRDUP(cfg->firmwares[3]->nvram, VIR_QEMU_AAVMF32_NVRAM_PATH) < 0)
>> goto error;
>> #endif
>
> Not your fault of course, but the way this is done at the
> moment is *extremely* yucky.
>
> I just posted a patch[1] that makes it saner, and although I
> realize that's a bit more work I'd ask you to wait for it to
> land in master and then respin on top of it.
IMO: Probably should have had Dann's patch go first, then do the
adjustment. Water under the bridge though...
So in order to make progress and since it was a simple modification, I
updated Dann's code to utilize the new model in qemu_conf.c from commit
id '6c2c04e75':
# define DEFAULT_LOADER_NVRAM \
"/usr/share/OVMF/OVMF_CODE.fd:/usr/share/OVMF/OVMF_VARS.fd:" \
"/usr/share/OVMF/OVMF_CODE.secboot.fd:/usr/share/OVMF/OVMF_VARS.fd:" \
"/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd:" \
"/usr/share/AAVMF/AAVMF32_CODE.fd:/usr/share/AAVMF/AAVMF32_VARS.fd"
Since there's another "looks good though" - I've pushed this to master
(and now pray that some CI build doesn't break ;-))
John
Congrats on your first libvirt patch
>
> Everything else looks good though :)
>
>
> [1] https://www.redhat.com/archives/libvir-list/2017-July/msg00870.html
> --
> Andrea Bolognani / Red Hat / Virtualization
>
More information about the libvir-list
mailing list