qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] fdc: fix floppy boot for Red Hat Linux 5.2
@ 2021-03-12  6:32 John Snow
  2021-03-12  8:01 ` Thomas Huth
  0 siblings, 1 reply; 3+ messages in thread
From: John Snow @ 2021-03-12  6:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: Kevin Wolf, Thomas Huth, qemu-block, Michael Tokarev, Max Reitz,
	John Snow

The image size indicates it's an 81 track floppy disk image, which we
don't have a listing for in the geometry table. When you force the drive
type to 1.44MB, it guesses the reasonably close 18/80. When the drive
type is allowed to auto-detect or set to 2.88, it guesses a very
incorrect geometry.

auto, 144 and 288 drive types get the right geometry with the new entry
in the table.

Reported-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: John Snow <jsnow@redhat.com>
---
 hw/block/fdc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/block/fdc.c b/hw/block/fdc.c
index 198940e737..b2f26ba587 100644
--- a/hw/block/fdc.c
+++ b/hw/block/fdc.c
@@ -122,6 +122,7 @@ static const FDFormat fd_formats[] = {
     /* First entry is default format */
     /* 1.44 MB 3"1/2 floppy disks */
     { FLOPPY_DRIVE_TYPE_144, 18, 80, 1, FDRIVE_RATE_500K, }, /* 3.5" 2880 */
+    { FLOPPY_DRIVE_TYPE_144, 18, 81, 1, FDRIVE_RATE_500K, },
     { FLOPPY_DRIVE_TYPE_144, 20, 80, 1, FDRIVE_RATE_500K, }, /* 3.5" 3200 */
     { FLOPPY_DRIVE_TYPE_144, 21, 80, 1, FDRIVE_RATE_500K, },
     { FLOPPY_DRIVE_TYPE_144, 21, 82, 1, FDRIVE_RATE_500K, },
-- 
2.29.2



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] fdc: fix floppy boot for Red Hat Linux 5.2
  2021-03-12  6:32 [PATCH] fdc: fix floppy boot for Red Hat Linux 5.2 John Snow
@ 2021-03-12  8:01 ` Thomas Huth
  2021-03-12 16:21   ` John Snow
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Huth @ 2021-03-12  8:01 UTC (permalink / raw)
  To: John Snow, qemu-devel; +Cc: Kevin Wolf, Michael Tokarev, qemu-block, Max Reitz

On 12/03/2021 07.32, John Snow wrote:
> The image size indicates it's an 81 track floppy disk image, which we
> don't have a listing for in the geometry table. When you force the drive
> type to 1.44MB, it guesses the reasonably close 18/80. When the drive
> type is allowed to auto-detect or set to 2.88, it guesses a very
> incorrect geometry.
> 
> auto, 144 and 288 drive types get the right geometry with the new entry
> in the table.
> 
> Reported-by: Michael Tokarev <mjt@tls.msk.ru>
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
>   hw/block/fdc.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/hw/block/fdc.c b/hw/block/fdc.c
> index 198940e737..b2f26ba587 100644
> --- a/hw/block/fdc.c
> +++ b/hw/block/fdc.c
> @@ -122,6 +122,7 @@ static const FDFormat fd_formats[] = {
>       /* First entry is default format */
>       /* 1.44 MB 3"1/2 floppy disks */
>       { FLOPPY_DRIVE_TYPE_144, 18, 80, 1, FDRIVE_RATE_500K, }, /* 3.5" 2880 */
> +    { FLOPPY_DRIVE_TYPE_144, 18, 81, 1, FDRIVE_RATE_500K, },
>       { FLOPPY_DRIVE_TYPE_144, 20, 80, 1, FDRIVE_RATE_500K, }, /* 3.5" 3200 */
>       { FLOPPY_DRIVE_TYPE_144, 21, 80, 1, FDRIVE_RATE_500K, },
>       { FLOPPY_DRIVE_TYPE_144, 21, 82, 1, FDRIVE_RATE_500K, },

That whole table-based approach seems quite unreliable to me - I've seen 
floppy disks with 80, 81, 82 or sometimes even 83 tracks in the past, so I 
think we would do better with a more flexible way of guessing ... but for 
the time being, this is certainly a quick and easy fix that also should not 
have any negative impact, thus:

Reviewed-by: Thomas Huth <thuth@redhat.com>



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] fdc: fix floppy boot for Red Hat Linux 5.2
  2021-03-12  8:01 ` Thomas Huth
@ 2021-03-12 16:21   ` John Snow
  0 siblings, 0 replies; 3+ messages in thread
From: John Snow @ 2021-03-12 16:21 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel
  Cc: Kevin Wolf, Michael Tokarev, qemu-block, Max Reitz

On 3/12/21 3:01 AM, Thomas Huth wrote:
> 
> That whole table-based approach seems quite unreliable to me - I've seen 
> floppy disks with 80, 81, 82 or sometimes even 83 tracks in the past, so 
> I think we would do better with a more flexible way of guessing ... but 
> for the time being, this is certainly a quick and easy fix that also 
> should not have any negative impact, thus:
> 
> Reviewed-by: Thomas Huth <thuth@redhat.com>

Yes, that's my thought. I can't personally justify tackling this hokey 
system -- I simply don't know enough about the history of the device to 
design a suitable replacement.

So, it's a band-aid, but one that fits with the way the floppy has 
worked for quite a long time, and seems the least likely to bother 
anything further.

--js



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-03-12 16:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-12  6:32 [PATCH] fdc: fix floppy boot for Red Hat Linux 5.2 John Snow
2021-03-12  8:01 ` Thomas Huth
2021-03-12 16:21   ` John Snow

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).