提交 cb5d3e9b 编写于 作者: J Jim Fehlig

libxl: add default firmwares to driver config object

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: NJim Fehlig <jfehlig@suse.com>
上级 fda5a98e
......@@ -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,33 @@ 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, 1) < 0)
goto error;
cfg->nfirmwares = 1;
if (VIR_ALLOC(cfg->firmwares[0]) < 0)
goto error;
if (VIR_STRDUP(cfg->firmwares[0]->name,
LIBXL_FIRMWARE_DIR "/ovmf.bin") < 0)
goto error;
#endif
/* Always add hvmloader to firmwares */
if (VIR_REALLOC_N(cfg->firmwares, cfg->nfirmwares + 1) < 0)
goto error;
cfg->nfirmwares++;
if (VIR_ALLOC(cfg->firmwares[cfg->nfirmwares - 1]) < 0)
goto error;
if (VIR_STRDUP(cfg->firmwares[cfg->nfirmwares - 1]->name,
LIBXL_FIRMWARE_DIR "/hvmloader") < 0)
goto error;
return cfg;
error:
......
......@@ -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;
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册