On 11/12/07, Laurent Vivier <[EMAIL PROTECTED]> wrote: > It also defines the default interface type to "scsi" for targets > "realview", "SS-5", "SS-10", "versatilepb", "versatileab" > to keep old behavior, where "-hda" is a SCSI disk.
For maximal compatibility, I'd like the following mappings for SS-5, SS-10, and SS-600MP: -hda = SCSI ID 0 -hdb = SCSI ID 1 -hdc = -cdrom = SCSI ID 2 -hdd = SCSI ID 3 There is no bus 1, only 0. Maybe a warning should be issued for bus=1. I didn't find where this was implemented, so is the above in line with the patch? > Index: qemu/hw/sun4m.c > - if (hwdef->fd_base != (target_phys_addr_t)-1) > - sun4m_fdctrl_init(slavio_irq[hwdef->fd_irq], hwdef->fd_base, > fd_table); > + if (hwdef->fd_base != (target_phys_addr_t)-1) { > + for(i = 0; i < MAX_FD; i++) { > + index = drive_get_index(IF_FLOPPY, 0, i); > + if (index != -1) > + fd[i] = drives_table[index].bdrv; > + else > + fd[i] = NULL; > + } > + > + sun4m_fdctrl_init(slavio_irq[hwdef->fd_irq], hwdef->fd_base, fd); > + } This is broken, there are zero or one floppy drives, never more. > Index: qemu/hw/sun4u.c > - floppy_controller = fdctrl_init(NULL/*6*/, 2, 0, 0x3f0, fd_table); > + for(i = 0; i < MAX_FD; i++) { > + index = drive_get_index(IF_FLOPPY, 0, i); > + if (index != -1) > + fd[i] = drives_table[index].bdrv; > + else > + fd[i] = NULL; > + } > + floppy_controller = fdctrl_init(NULL/*6*/, 2, 0, 0x3f0, fd); I think same applies here (0 to 1 drives), but as the hardware is PC-like, technically it may be possible that someone could replace the cables and insert additional floppy drives.