hw/q35: fix floppy controller definition in ich9
PATCH 1/1 hw/q35: fix floppy controller definition in ich9
In DSDT FDC0 declares the IO region as IO(Decode16, 0x03F2, 0x03F2, 0x00, 0x04). Use the same in lpc_ich9 initialization code.
Now the floppy drive is detected correctly on Windows.
--- hw/isa/lpc_ich9.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
hw/isa/lpc_ich9.c +1 -1
@@ -494,7 +494,7 @@ static void ich9_lpc_machine_ready(Notifier *n, void *opaque)/* lpt */ pci_conf[0x82 ] |=0x04 ; } -if (memory_region_present (io_as,0x3f0 )) { +if (memory_region_present (io_as,0x3f2 )) {/* floppy */ pci_conf[0x82 ] |=0x08 ; }
Signature · 1 line
2.1.0
Quoted 15 lines · Marcel Apfelbaum
In DSDT FDC0 declares the IO region as
IO(Decode16, 0x03F2, 0x03F2, 0x00, 0x04). Use the same inlpc_ich9initialization code.
Now the floppy drive is detected correctly on Windows.Signed-off-by Marcel Apfelbaum <[email protected]>--- hw/isa/lpc_ich9.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)hw/isa/lpc_ich9.c +0
-0
hw/isa/lpc_ich9.c static void ich9_lpc_machine_ready(Notifier *n, void *opaque) · line 500
Quoted 8 lines
hw/isa/lpc_ich9.c +1
-1@@ -494,7 +494,7 @@ static void ich9_lpc_machine_ready(Notifier *n, void *opaque)/* lpt */ pci_conf[0x82 ] |=0x04 ; } -if (memory_region_present (io_as,0x3f0 )) { +if (memory_region_present (io_as,0x3f2 )) {/* floppy */ pci_conf[0x82 ] |=0x08 ; }
Hi,
I cc-ed the developers involved in the mail thread:
https://lists.gnu.org/archive/html/qemu-block/2015-05/msg01043.html
and the FDC maintainer. I hope I didn't miss anybody.
I also have no knowledge of FDC, but I think the above patch is correct and solves the problem of floppy disk missing in Windows for Q35 machines.
Comments appreciated as always.
Thanks,
Marcel
Quoted 29 lines · Marcel Apfelbaum
Quoted 24 lines
In DSDT FDC0 declares the IO region as
IO(Decode16, 0x03F2, 0x03F2, 0x00, 0x04).
Use the same inlpc_ich9initialization code.
Now the floppy drive is detected correctly on Windows.Signed-off-by Marcel Apfelbaum <[email protected]>--- hw/isa/lpc_ich9.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)hw/isa/lpc_ich9.c +1
-1@@ -494,7 +494,7 @@ static void ich9_lpc_machine_ready(Notifier *n, void *opaque)/* lpt */ pci_conf[0x82] |= 0x04; } -if (memory_region_present (io_as,0x3f0 )) { +if (memory_region_present (io_as,0x3f2 )) {/* floppy */ pci_conf[0x82 ] |=0x08 ;Quoted 2 lines
}Hi,
Quoted 6 lines
I cc-ed the developers involved in the mail thread:
https://lists.gnu.org/archive/html/qemu-block/2015-05/msg01043.htmland the FDC maintainer. I hope I didn't miss anybody.
I also have no knowledge of FDC, but I think the above patch is correct and solves the problem of floppy disk missing in Windows for Q35 machines.
The patch is okay, but the correct definition of the area is from 0x3F1 to 0x3F7.
Paolo
Quoted 36 lines · Paolo Bonzini
Quoted 33 lines · Marcel Apfelbaum
Quoted 24 lines
In DSDT FDC0 declares the IO region as
IO(Decode16, 0x03F2, 0x03F2, 0x00, 0x04).
Use the same inlpc_ich9initialization code.
Now the floppy drive is detected correctly on Windows.Signed-off-by Marcel Apfelbaum <[email protected]>--- hw/isa/lpc_ich9.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)hw/isa/lpc_ich9.c +1
-1@@ -494,7 +494,7 @@ static void ich9_lpc_machine_ready(Notifier *n, void *opaque)/* lpt */ pci_conf[0x82] |= 0x04; } -if (memory_region_present (io_as,0x3f0 )) { +if (memory_region_present (io_as,0x3f2 )) {/* floppy */ pci_conf[0x82 ] |=0x08 ;Quoted 2 lines
}Hi,
I cc-ed the developers involved in the mail thread:
https://lists.gnu.org/archive/html/qemu-block/2015-05/msg01043.htmland the FDC maintainer. I hope I didn't miss anybody.
Quoted 5 lines
Quoted 2 lines
I also have no knowledge of FDC, but I think the above patch is correct and solves the problem of floppy disk missing in Windows for Q35 machines.
The patch is okay, but the correct definition of the area is from
0x3F1to0x3F7.
Can we do other fixes on top of this? This patch solves the actual Windows problem and now we can use floppies for Q35.
Can I take this okay as a "Reviewed-by"? )
Thanks,
Marcel
Quoted 3 lines
Paolo
Quoted 5 lines · Paolo Bonzini
Quoted 2 lines
The patch is okay, but the correct definition of the area is from
0x3F1to0x3F7.Can we do other fixes on top of this? This patch solves the actual Windows problem and now we can use floppies for Q35.
Well, IANAM. :)
Quoted 1 line
Can I take this okay as a "Reviewed-by"? )
Sure.
Paolo
Quoted 11 lines · Paolo Bonzini
Quoted 5 lines · Paolo Bonzini
Quoted 2 lines
The patch is okay, but the correct definition of the area is from
0x3F1to0x3F7.Can we do other fixes on top of this? This patch solves the actual Windows problem and now we can use floppies for Q35.
Well, IANAM. :)
Quoted 1 line
Can I take this okay as a "Reviewed-by"? )
Sure.
Thanks Paolo!
Michael, maybe you can take this patch under pci/Q35 branch? Thanks,
Marcel
Quoted 3 lines
Paolo