Message ID | 20190416091348.26075-2-armbru@redhat.com |
---|---|
State | New |
Headers | show |
Series | hw/arm/virt: Support firmware configuration with -blockdev | expand |
On 04/16/19 11:13, Markus Armbruster wrote: > The loop does two things: map legacy -drive to properties, and collect > all the backends for use after the loop. The next patch will factor > out the former for reuse in hw/arm/virt.c. To make that easier, > rearrange the loop so it does the first thing first, and the second > thing second. > > Signed-off-by: Markus Armbruster <armbru@redhat.com> > --- > hw/i386/pc_sysfw.c | 24 +++++++++++------------- > 1 file changed, 11 insertions(+), 13 deletions(-) > > diff --git a/hw/i386/pc_sysfw.c b/hw/i386/pc_sysfw.c > index c628540774..75925f5d3f 100644 > --- a/hw/i386/pc_sysfw.c > +++ b/hw/i386/pc_sysfw.c > @@ -280,21 +280,19 @@ void pc_system_firmware_init(PCMachineState *pcms, > > /* Map legacy -drive if=pflash to machine properties */ > for (i = 0; i < ARRAY_SIZE(pcms->flash); i++) { > - pflash_blk[i] = pflash_cfi01_get_blk(pcms->flash[i]); > pflash_drv = drive_get(IF_PFLASH, 0, i); > - if (!pflash_drv) { > - continue; > + if (pflash_drv) { > + loc_push_none(&loc); > + qemu_opts_loc_restore(pflash_drv->opts); > + if (pflash_cfi01_get_blk(pcms->flash[i])) { > + error_report("clashes with -machine"); > + exit(1); > + } > + qdev_prop_set_drive(DEVICE(pcms->flash[i]), "drive", > + blk_by_legacy_dinfo(pflash_drv), &error_fatal); > + loc_pop(&loc); > } > - loc_push_none(&loc); > - qemu_opts_loc_restore(pflash_drv->opts); > - if (pflash_blk[i]) { > - error_report("clashes with -machine"); > - exit(1); > - } > - pflash_blk[i] = blk_by_legacy_dinfo(pflash_drv); > - qdev_prop_set_drive(DEVICE(pcms->flash[i]), > - "drive", pflash_blk[i], &error_fatal); > - loc_pop(&loc); > + pflash_blk[i] = pflash_cfi01_get_blk(pcms->flash[i]); > } > > /* Reject gaps */ > Reviewed-by: Laszlo Ersek <lersek@redhat.com>
On 4/16/19 11:13 AM, Markus Armbruster wrote: > The loop does two things: map legacy -drive to properties, and collect > all the backends for use after the loop. The next patch will factor > out the former for reuse in hw/arm/virt.c. To make that easier, > rearrange the loop so it does the first thing first, and the second > thing second. > > Signed-off-by: Markus Armbruster <armbru@redhat.com> > --- > hw/i386/pc_sysfw.c | 24 +++++++++++------------- > 1 file changed, 11 insertions(+), 13 deletions(-) > > diff --git a/hw/i386/pc_sysfw.c b/hw/i386/pc_sysfw.c > index c628540774..75925f5d3f 100644 > --- a/hw/i386/pc_sysfw.c > +++ b/hw/i386/pc_sysfw.c > @@ -280,21 +280,19 @@ void pc_system_firmware_init(PCMachineState *pcms, > > /* Map legacy -drive if=pflash to machine properties */ > for (i = 0; i < ARRAY_SIZE(pcms->flash); i++) { > - pflash_blk[i] = pflash_cfi01_get_blk(pcms->flash[i]); > pflash_drv = drive_get(IF_PFLASH, 0, i); > - if (!pflash_drv) { > - continue; > + if (pflash_drv) { > + loc_push_none(&loc); > + qemu_opts_loc_restore(pflash_drv->opts); > + if (pflash_cfi01_get_blk(pcms->flash[i])) { > + error_report("clashes with -machine"); > + exit(1); > + } > + qdev_prop_set_drive(DEVICE(pcms->flash[i]), "drive", > + blk_by_legacy_dinfo(pflash_drv), &error_fatal); > + loc_pop(&loc); > } > - loc_push_none(&loc); > - qemu_opts_loc_restore(pflash_drv->opts); > - if (pflash_blk[i]) { > - error_report("clashes with -machine"); > - exit(1); > - } > - pflash_blk[i] = blk_by_legacy_dinfo(pflash_drv); > - qdev_prop_set_drive(DEVICE(pcms->flash[i]), > - "drive", pflash_blk[i], &error_fatal); > - loc_pop(&loc); > + pflash_blk[i] = pflash_cfi01_get_blk(pcms->flash[i]); > } > > /* Reject gaps */ > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
diff --git a/hw/i386/pc_sysfw.c b/hw/i386/pc_sysfw.c index c628540774..75925f5d3f 100644 --- a/hw/i386/pc_sysfw.c +++ b/hw/i386/pc_sysfw.c @@ -280,21 +280,19 @@ void pc_system_firmware_init(PCMachineState *pcms, /* Map legacy -drive if=pflash to machine properties */ for (i = 0; i < ARRAY_SIZE(pcms->flash); i++) { - pflash_blk[i] = pflash_cfi01_get_blk(pcms->flash[i]); pflash_drv = drive_get(IF_PFLASH, 0, i); - if (!pflash_drv) { - continue; + if (pflash_drv) { + loc_push_none(&loc); + qemu_opts_loc_restore(pflash_drv->opts); + if (pflash_cfi01_get_blk(pcms->flash[i])) { + error_report("clashes with -machine"); + exit(1); + } + qdev_prop_set_drive(DEVICE(pcms->flash[i]), "drive", + blk_by_legacy_dinfo(pflash_drv), &error_fatal); + loc_pop(&loc); } - loc_push_none(&loc); - qemu_opts_loc_restore(pflash_drv->opts); - if (pflash_blk[i]) { - error_report("clashes with -machine"); - exit(1); - } - pflash_blk[i] = blk_by_legacy_dinfo(pflash_drv); - qdev_prop_set_drive(DEVICE(pcms->flash[i]), - "drive", pflash_blk[i], &error_fatal); - loc_pop(&loc); + pflash_blk[i] = pflash_cfi01_get_blk(pcms->flash[i]); } /* Reject gaps */
The loop does two things: map legacy -drive to properties, and collect all the backends for use after the loop. The next patch will factor out the former for reuse in hw/arm/virt.c. To make that easier, rearrange the loop so it does the first thing first, and the second thing second. Signed-off-by: Markus Armbruster <armbru@redhat.com> --- hw/i386/pc_sysfw.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-)