[libvirt] [PATCH 2/2] libxl: add default firmwares to driver config object
Michal Privoznik
mprivozn at redhat.com
Wed May 25 14:37:35 UTC 2016
On 25.05.2016 15:28, Jim Fehlig wrote:
> 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 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?
>
> 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
More information about the libvir-list
mailing list