[libvirt] [PATCH] qemu: Add AAVMF32 to the list of known UEFIs

dann frazier posted 1 patch 6 years, 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20170607180634.garrb5dvbwuf6hqw@xps13.dannf
There is a newer version of this series
src/qemu/qemu_conf.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
[libvirt] [PATCH] qemu: Add AAVMF32 to the list of known UEFIs
Posted by dann frazier 6 years, 9 months ago
Add a path for UEFI VMs for AArch32 VMs. This is the path Debian is currently
using in experimental. libvirt is the de facto canonical location for
where distros should place these firmware images, so let's define this path
here to try and minimize distro fragmentation.
---
 src/qemu/qemu_conf.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index 73c33d6788..c1bd91935b 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -130,6 +130,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)
 {
@@ -334,11 +336,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 ||
@@ -346,7 +348,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
 
-- 
2.11.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] qemu: Add AAVMF32 to the list of known UEFIs
Posted by Christian Ehrhardt 6 years, 9 months ago
Hi Dann,
there is currently some apparmor upstreaming going on [1].
You'd want to add a similar line for your new paths as well I think.

[1]: https://www.redhat.com/archives/libvir-list/2017-May/msg00474.html



On Wed, Jun 7, 2017 at 12:06 PM, dann frazier <dann.frazier@canonical.com>
wrote:

> Add a path for UEFI VMs for AArch32 VMs. This is the path Debian is
> currently
> using in experimental. libvirt is the de facto canonical location for
> where distros should place these firmware images, so let's define this path
> here to try and minimize distro fragmentation.
> ---
>  src/qemu/qemu_conf.c | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
> index 73c33d6788..c1bd91935b 100644
> --- a/src/qemu/qemu_conf.c
> +++ b/src/qemu/qemu_conf.c
> @@ -130,6 +130,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)
>  {
> @@ -334,11 +336,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 ||
> @@ -346,7 +348,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
>
> --
> 2.11.0
>
> --
> libvir-list mailing list
> libvir-list@redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
>



-- 
Christian Ehrhardt
Software Engineer, Ubuntu Server
Canonical Ltd
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] qemu: Add AAVMF32 to the list of known UEFIs
Posted by dann frazier 6 years, 9 months ago
On Wed, Jun 7, 2017 at 12:52 PM, Christian Ehrhardt
<christian.ehrhardt@canonical.com> wrote:
> Hi Dann,
> there is currently some apparmor upstreaming going on [1].
> You'd want to add a similar line for your new paths as well I think.

Good catch Christian - I'll wait for that to land and resubmit.

  -dann

> [1]: https://www.redhat.com/archives/libvir-list/2017-May/msg00474.html
>
>
>
> On Wed, Jun 7, 2017 at 12:06 PM, dann frazier <dann.frazier@canonical.com>
> wrote:
>>
>> Add a path for UEFI VMs for AArch32 VMs. This is the path Debian is
>> currently
>> using in experimental. libvirt is the de facto canonical location for
>> where distros should place these firmware images, so let's define this
>> path
>> here to try and minimize distro fragmentation.
>> ---
>>  src/qemu/qemu_conf.c | 12 ++++++++----
>>  1 file changed, 8 insertions(+), 4 deletions(-)
>>
>> diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
>> index 73c33d6788..c1bd91935b 100644
>> --- a/src/qemu/qemu_conf.c
>> +++ b/src/qemu/qemu_conf.c
>> @@ -130,6 +130,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)
>>  {
>> @@ -334,11 +336,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 ||
>> @@ -346,7 +348,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
>>
>> --
>> 2.11.0
>>
>> --
>> libvir-list mailing list
>> libvir-list@redhat.com
>> https://www.redhat.com/mailman/listinfo/libvir-list
>
>
>
>
> --
> Christian Ehrhardt
> Software Engineer, Ubuntu Server
> Canonical Ltd

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list