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

Michal Privoznik mprivozn at redhat.com
Wed May 25 09:32:18 UTC 2016


On 18.05.2016 18:38, 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 c399f5c..54bed6b 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);
>  }
>  
>  
> @@ -1774,6 +1775,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->firwares[0]->name,
> +                   LIBXL_FIRMWARE_DIR "/hvmloader") < 0 ||
> +        VIR_STRDUP(cfg->firwares[1]->name,
> +                   LIBXL_FIRMWARE_DIR "/ovmf.bin") < 0)
> +        goto error;

Yet again, copy & paste error :)
s/firwares/firmwares/g

> +#endif
> +
>      return cfg;
>  
>   error:
> diff --git a/src/libxl/libxl_conf.h b/src/libxl/libxl_conf.h
> index c5b9429..e55717a 100644
> --- a/src/libxl/libxl_conf.h
> +++ b/src/libxl/libxl_conf.h
> @@ -39,6 +39,7 @@
>  # include "virchrdev.h"
>  # include "virhostdev.h"
>  # include "locking/lock_manager.h"
> +# include "virfirmware.h"
>  
>  # define LIBXL_DRIVER_NAME "xenlight"
>  # define LIBXL_VNC_PORT_MIN  5900
> @@ -107,6 +108,9 @@ struct _libxlDriverConfig {
>      char *libDir;
>      char *saveDir;
>      char *autoDumpDir;
> +
> +    virFirmwarePtr *firmwares;
> +    size_t nfirmwares;
>  };
>  
>  
> 

Well, there's technically nothing wrong with this patch, but perhaps we
want to report the information we parse here? I mean, so far this is
just a setter and no getter. Are those patches yet to come?

Michal




More information about the libvir-list mailing list