pc: Rearrange pc_system_firmware_init()'s legacy -drive loop

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>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20190416091348.26075-2-armbru@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Markus Armbruster 2019-05-07 12:55:01 +01:00 committed by Peter Maydell
parent 19eb2d4e73
commit c8d8ef00a1

View File

@ -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 */