On 14/03/15 16:50, Hervé Poussineau wrote: > They were introduced in 6f7e9aec5eb5bdfa57a9e458e391b785c283a007 and > 82407d1a4035e5bfefb53ffdcb270872f813b34c and lots of bug fixes were done > after that. > > This fixes (at least) the detection of the floppy controller on Debian > 4.0r9/SPARC, > and SS-5's OBP initialization routine still works. > > Signed-off-by: Hervé Poussineau <hpous...@reactos.org> > --- > hw/block/fdc.c | 17 ----------------- > 1 file changed, 17 deletions(-) > > diff --git a/hw/block/fdc.c b/hw/block/fdc.c > index 2bf87c9..f72a392 100644 > --- a/hw/block/fdc.c > +++ b/hw/block/fdc.c > @@ -535,8 +535,6 @@ struct FDCtrl { > uint8_t pwrd; > /* Floppy drives */ > uint8_t num_floppies; > - /* Sun4m quirks? */ > - int sun4m; > FDrive drives[MAX_FD]; > int reset_sensei; > uint32_t check_media_rate; > @@ -885,13 +883,6 @@ static void fdctrl_reset_irq(FDCtrl *fdctrl) > > static void fdctrl_raise_irq(FDCtrl *fdctrl) > { > - /* Sparc mutation */ > - if (fdctrl->sun4m && (fdctrl->msr & FD_MSR_CMDBUSY)) { > - /* XXX: not sure */ > - fdctrl->msr &= ~FD_MSR_CMDBUSY; > - fdctrl->msr |= FD_MSR_RQM | FD_MSR_DIO; > - return; > - } > if (!(fdctrl->sra & FD_SRA_INTPEND)) { > qemu_set_irq(fdctrl->irq, 1); > fdctrl->sra |= FD_SRA_INTPEND; > @@ -1080,12 +1071,6 @@ static uint32_t fdctrl_read_main_status(FDCtrl *fdctrl) > fdctrl->dsr &= ~FD_DSR_PWRDOWN; > fdctrl->dor |= FD_DOR_nRESET; > > - /* Sparc mutation */ > - if (fdctrl->sun4m) { > - retval |= FD_MSR_DIO; > - fdctrl_reset_irq(fdctrl); > - }; > - > FLOPPY_DPRINTF("main status register: 0x%02x\n", retval); > > return retval; > @@ -2241,8 +2226,6 @@ static void sun4m_fdc_initfn(Object *obj) > FDCtrlSysBus *sys = SYSBUS_FDC(obj); > FDCtrl *fdctrl = &sys->state; > > - fdctrl->sun4m = 1; > - > memory_region_init_io(&fdctrl->iomem, obj, &fdctrl_mem_strict_ops, > fdctrl, "fdctrl", 0x08); > sysbus_init_mmio(sbd, &fdctrl->iomem); >
Hi Hervé, I can confirm that this fixes detection of the FDC on my Linux and BSD images so: Tested-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> ATB, Mark.