[libvirt] [PATCH V2 2/6] libxl: add default firmwares to driver config object

Jim Fehlig jfehlig at suse.com
Fri Jun 10 14:44:21 UTC 2016


On 06/09/2016 08:46 AM, Jim Fehlig wrote:
> Prefer firmwares specified via --with-loader-nvram configure
> option. If none are specified, use the Xen-provided default
> firmwares found in LIBXL_FIRMWARE_DIR.
>
> Signed-off-by: Jim Fehlig <jfehlig at suse.com>
> ---
>  src/libxl/libxl_conf.c | 21 +++++++++++++++++++++
>  src/libxl/libxl_conf.h |  4 ++++
>  2 files changed, 25 insertions(+)
>
> diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
> index a64b4c1..b347b8c 100644
> --- a/src/libxl/libxl_conf.c
> +++ b/src/libxl/libxl_conf.c
> @@ -104,6 +104,7 @@ libxlDriverConfigDispose(void *obj)
>      VIR_FREE(cfg->saveDir);
>      VIR_FREE(cfg->autoDumpDir);
>      VIR_FREE(cfg->lockManagerName);
> +    virFirmwareFreeList(cfg->firmwares, cfg->nfirmwares);
>  }
>  
>  
> @@ -1777,6 +1778,26 @@ libxlDriverConfigNew(void)
>          goto error;
>      }
>  
> +#ifdef DEFAULT_LOADER_NVRAM
> +    if (virFirmwareParseList(DEFAULT_LOADER_NVRAM,
> +                             &cfg->firmwares,
> +                             &cfg->nfirmwares) < 0)
> +        goto error;
> +
> +#else
> +    if (VIR_ALLOC_N(cfg->firmwares, 2) < 0)
> +        goto error;
> +    cfg->nfirmwares = 2;
> +    if (VIR_ALLOC(cfg->firmwares[0]) < 0 || VIR_ALLOC(cfg->firmwares[1]) < 0)
> +        goto error;
> +
> +    if (VIR_STRDUP(cfg->firmwares[0]->name,
> +                   LIBXL_FIRMWARE_DIR "/hvmloader") < 0 ||
> +        VIR_STRDUP(cfg->firmwares[1]->name,
> +                   LIBXL_FIRMWARE_DIR "/ovmf.bin") < 0)
> +        goto error;
> +#endif
> +

I'm going to rework this hunk a bit in V3 since hvmloader should always be
present in cfg->firmwares.

Regards,
Jim




More information about the libvir-list mailing list