summaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorArtyom Tarasenko <atar4qemu@googlemail.com>2009-12-13 13:30:44 +0000
committerBlue Swirl <blauwirbel@gmail.com>2009-12-20 11:35:48 +0200
commite470436f19f85660b2e9a4dc25827000f0ea2078 (patch)
treede2152929ba0b0c1e7295e90815cfdfeda739d7b /hw
parentb60c2c74f39e7aa6b84beb945fee544871d1661f (diff)
fdc/sparc32: don't hang on detection under OBP
Stepping through the SS-5's OBP initialization routines it looks like reading fdc main status register should clear the fd interrupt. The patch doesn't fix problems with fdc on sparc platform, it only fixes fdc detection. Signed-off-by: Artyom Tarasenko <atar4qemu@gmail.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/fdc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/hw/fdc.c b/hw/fdc.c
index 1393337275..0579b03728 100644
--- a/hw/fdc.c
+++ b/hw/fdc.c
@@ -935,6 +935,12 @@ static uint32_t fdctrl_read_main_status (fdctrl_t *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;