On 02/15/2017 05:05 AM, Markus Armbruster wrote: > We've traditionally rejected orphans here and there, but not > systematically. For instance, the sun4m machines have an onboard SCSI > HBA (bus=0), and have always rejected bus>0. Other machines with an > onboard SCSI HBA don't. > > Commit a66c9dc made all orphans trigger a warning, and the previous > commit turned this into an error. The checks "here and there" are now > redundant. Drop them. > > Note that the one in mips_jazz.c was wrong: it rejected bus > MAX_FD, > but MAX_FD is the number of floppy drives per bus. > > Error messages change from > > $ qemu-system-x86_64 -drive if=ide,bus=2 > qemu-system-x86_64: Too many IDE buses defined (3 > 2) > $ qemu-system-mips64 -M magnum,accel=qtest -drive if=floppy,bus=2,id=fd1 > qemu: too many floppy drives > $ qemu-system-sparc -M LX -drive if=scsi,bus=1 > qemu: too many SCSI bus > > to > > $ qemu-system-x86_64 -drive if=ide,bus=2 > qemu-system-x86_64: -drive if=ide,bus=2: machine type does not support > if=ide,bus=2,unit=0 > $ qemu-system-mips64 -M magnum,accel=qtest -drive if=floppy,bus=2,id=fd1 > qemu-system-mips64: -drive if=floppy,bus=2,id=fd1: machine type does not > support if=floppy,bus=2,unit=0 > $ qemu-system-sparc -M LX -drive if=scsi,bus=1 > qemu-system-sparc: -drive if=scsi,bus=1: machine type does not support > if=scsi,bus=1,unit=0 > > Cc: John Snow <js...@redhat.com> > Cc: "Hervé Poussineau" <hpous...@reactos.org> > Cc: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> > Signed-off-by: Markus Armbruster <arm...@redhat.com> > --- > hw/ide/core.c | 17 ----------------- > hw/mips/mips_jazz.c | 4 ---- > hw/sparc/sun4m.c | 5 ----- > 3 files changed, 26 deletions(-) > > diff --git a/hw/ide/core.c b/hw/ide/core.c > index 43709e5..cfa5de6 100644 > --- a/hw/ide/core.c > +++ b/hw/ide/core.c > @@ -2840,23 +2840,6 @@ const VMStateDescription vmstate_ide_bus = { > void ide_drive_get(DriveInfo **hd, int n) > { > int i; > - int highest_bus = drive_get_max_bus(IF_IDE) + 1; > - int max_devs = drive_get_max_devs(IF_IDE); > - int n_buses = max_devs ? (n / max_devs) : n; > - > - /* > - * Note: The number of actual buses available is not known. > - * We compute this based on the size of the DriveInfo* array, n. > - * If it is less than max_devs * <num_real_buses>, > - * We will stop looking for drives prematurely instead of overfilling > - * the array. > - */ > - > - if (highest_bus > n_buses) { > - error_report("Too many IDE buses defined (%d > %d)", > - highest_bus, n_buses); > - exit(1); > - } > > for (i = 0; i < n; i++) { > hd[i] = drive_get_by_index(IF_IDE, i); > diff --git a/hw/mips/mips_jazz.c b/hw/mips/mips_jazz.c > index 73f6c9f..1cef581 100644 > --- a/hw/mips/mips_jazz.c > +++ b/hw/mips/mips_jazz.c > @@ -291,10 +291,6 @@ static void mips_jazz_init(MachineState *machine, > qdev_get_gpio_in(rc4030, 5), &esp_reset, &dma_enable); > > /* Floppy */ > - if (drive_get_max_bus(IF_FLOPPY) >= MAX_FD) { > - fprintf(stderr, "qemu: too many floppy drives\n"); > - exit(1); > - } > for (n = 0; n < MAX_FD; n++) { > fds[n] = drive_get(IF_FLOPPY, 0, n); > } > diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c > index f5b6efd..61416a6 100644 > --- a/hw/sparc/sun4m.c > +++ b/hw/sparc/sun4m.c > @@ -989,11 +989,6 @@ static void sun4m_hw_init(const struct sun4m_hwdef > *hwdef, > slavio_misc_init(hwdef->slavio_base, hwdef->aux1_base, hwdef->aux2_base, > slavio_irq[30], fdc_tc); > > - if (drive_get_max_bus(IF_SCSI) > 0) { > - fprintf(stderr, "qemu: too many SCSI bus\n"); > - exit(1); > - } > - > esp_init(hwdef->esp_base, 2, > espdma_memory_read, espdma_memory_write, > espdma, espdma_irq, &esp_reset, &dma_enable); >
http://i.imgur.com/v1Lvzb1.jpg Reviewed-by: John Snow <js...@redhat.com>