On 05/25/2016 03:32 AM, Michal Privoznik wrote:
> 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(a)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?
Yes. I've rebased the below series on top of this one and well post a V2 later
today.
https://www.redhat.com/archives/libvir-list/2016-April/msg01358.html
Is it fine to push this preparatory work as is (after fixing comments of
course), or should I include all the patches together in a V2?
Ah, haven't seen those while reviewing this one. ACK to this one then
too. Now it makes perfect sense.
Michal