Patchwork [FOR,0.12] fdc/sparc don't hang on detection under OBP

login
register
mail settings
Submitter Artyom Tarasenko
Date Dec. 12, 2009, 8:45 p.m.
Message ID <1260650714-13987-1-git-send-email-atar4qemu@google.com>
Download mbox | patch
Permalink /patch/40992/
State New
Headers show

Comments

Artyom Tarasenko - Dec. 12, 2009, 8:45 p.m.
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>
---

Patch

diff --git a/hw/fdc.c b/hw/fdc.c
index e875291..11ea439 100644
--- a/hw/fdc.c
+++ b/hw/fdc.c
@@ -960,6 +960,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;