From: "Hervé Poussineau" <hpoussin@reactos.org>
To: Philipp Hahn <hahn@univention.de>
Cc: Kevin Wolf <kwolf@redhat.com>, qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [BUG?] vvfat vs. pc-1.1 isa-fdc.check_media_rate=off
Date: Sat, 10 Nov 2012 23:41:27 +0100 [thread overview]
Message-ID: <509ED817.3070902@reactos.org> (raw)
In-Reply-To: <201211091950.31378.hahn@univention.de>
Hi,
Philipp Hahn a écrit :
> I tried to create a virtual VFAT floppy image on-the-fly with qemi(-kvm)-1.1.1
> using the command line argument
> -drive file=fat:floppy:"$WORK/floppy",if=floppy,index=0
Strange, I just tested today's QEMU git, and I have the opposite problem:
- it works with -M pc-0.14
- it doesn't work with -M pc
- it works with -M pc -global isa-fdc.check_media_rate=off
My test directory only contains one file of 1228800 bytes, and I'm using
MSDOS as guest OS.
> Everything worked fine until I added the additional "-M pc-0.14" command line
> argument: Then I only get an empty floppy image.
> I narrowed this down to the PC_COMPAT_1_0 definition in hw/pc_piix.c, which
> added
> .driver = "isa-fdc",\
> .property = "check_media_rate",\
> .value = "off",\
> to the compat settings. If I also add an
> -global isa-fdc.check_media_rate=on
> to explicitly overwrite that setting, vvfat also works with pc-1.0 and
> earlier.
>
> I didn't unsterstand from reading the code what that flag is supposed to do,
> so can somebody give me some help to understand what goes wrong here.
You can have multiple floppy formats, the most known one is 1.44 MB.
Each floppy format requires a specific media rate transfer to be
programmed on the floppy controller.
Before 1.1, QEMU was not checking if the current transfer rate was the
correct one. isa-fdc.check_media_rate parameter enables/disables this
check; it is on by default on 1.1+, and off by default on previous versions.
vvfat is creating by default 2.88 floppies, which don't have the same
transfer rate than 1.44 floppies.
Here, you're probably hitting a SeaBIOS bug, which doesn't try multiple
transfers rates when reading a floppy.
For my case, I can either request floppy controller to not check
transfer rates (-global isa-fdc.check_media_rate=off), or request vvfat
to create a 1.44 floppy:
-drive file=fat:12:floppy:"$WORK/floppy",if=floppy,index=0
> I think vvfat needs to be patched to also work with check_media_rate=off.
As said, you may experience a SeaBIOS bug.
Regards,
Hervé
prev parent reply other threads:[~2012-11-10 22:41 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-09 18:50 [Qemu-devel] [BUG?] vvfat vs. pc-1.1 isa-fdc.check_media_rate=off Philipp Hahn
2012-11-10 22:41 ` Hervé Poussineau [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=509ED817.3070902@reactos.org \
--to=hpoussin@reactos.org \
--cc=hahn@univention.de \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.