On 28.02.2018 12:02, David Hildenbrand wrote:
> On 27.02.2018 12:32, Thomas Huth wrote:
>> The file name of the netboot binary is currently hard-coded to
>> "s390-netboot.img", without a possibility for the user to select
>> an alternative firmware image here. That's unfortunate, especially
>> since the basics are already there: The filename is a property of
>> the s390-ipl device. So we just have to add a check whether the user
>> already provided the property and only set the default if the string
>> is still empty. Now it is possible to select a different firmware
>> image with "-global s390-ipl.netboot_fw=/path/to/s390-netboot.img".
>>
>> Signed-off-by: Thomas Huth <th...@redhat.com>
>> ---
>>  hw/s390x/s390-virtio-ccw.c | 4 +++-
>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
>> index 4abbe89..7b3fb5f 100644
>> --- a/hw/s390x/s390-virtio-ccw.c
>> +++ b/hw/s390x/s390-virtio-ccw.c
>> @@ -254,8 +254,10 @@ static void s390_init_ipl_dev(const char 
>> *kernel_filename,
>>      }
>>      qdev_prop_set_string(dev, "cmdline", kernel_cmdline);
>>      qdev_prop_set_string(dev, "firmware", firmware);
>> -    qdev_prop_set_string(dev, "netboot_fw", netboot_fw);
>>      qdev_prop_set_bit(dev, "enforce_bios", enforce_bios);
>> +    if (!strlen(object_property_get_str(new, "netboot_fw", &error_abort))) {
> 
> Isn't it the case that object_property_get_str() can return also NULL?
> 
> (looking at s390_ipl_set_loadparm())

It can return NULL in case of errors (e.g. the property is not a string
or not available at all). In this case, we know that the property is a
string and that it is available, so IMHO no need to check for NULL here.

Not sure why s390_ipl_set_loadparm() explicitely checks for this ...
maybe this was originally required to support the old s390-virtio
(non-ccw) machine, too?

 Thomas

Reply via email to