From: Laszlo Ersek <lersek@redhat.com>
To: Roman Kagan <rkagan@virtuozzo.com>,
qemu-devel@nongnu.org, Kevin Wolf <kwolf@redhat.com>,
Eduardo Habkost <ehabkost@redhat.com>,
qemu-block@nongnu.org, "Michael S. Tsirkin" <mst@redhat.com>,
qemu-stable@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
Igor Mammedov <imammedo@redhat.com>, John Snow <jsnow@redhat.com>,
Richard Henderson <rth@twiddle.net>,
"Dr. David Alan Gilbert (git)" <dgilbert@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v5 0/6] i386: expose floppy-related objects in SSDT
Date: Wed, 13 Jan 2016 17:23:34 +0100 [thread overview]
Message-ID: <56967A06.2060305@redhat.com> (raw)
In-Reply-To: <20160113154944.GF3875@rkaganb.sw.ru>
On 01/13/16 16:49, Roman Kagan wrote:
> On Wed, Jan 13, 2016 at 03:36:18PM +0100, Laszlo Ersek wrote:
>> On 12/30/15 21:11, Roman Kagan wrote:
>>> Windows on UEFI systems is only capable of detecting the presence and
>>> the type of floppy drives via corresponding ACPI objects.
>>
>> I'm late to the party, but please allow me a question:
>>
>> how did you figure out that UEFI Windows requires this?
>>
>> In general, what the ACPI specification says is at best a "guideline"
>> for Windows. So how did you prove this was a requirement for Windows?
>
> Well, my statement above that Windows on UEFI can detect floppies *only*
> via ACPI is probably a bit stronger than I can actually prove but
>
> - Windows on OVMF didn't see floppies before the patch, while Linux did
> (by querying CMOS)
Indeed.
https://bugzilla.redhat.com/show_bug.cgi?id=1212317
>
> - a number of sources on the internet hinted that Windows needed ACPI
> assistance for that, e.g.:
>
> https://www.reactos.org/wiki/UEFI#Floppy
> https://social.technet.microsoft.com/Forums/windows/en-US/f17db175-d146-4518-b2e9-c12a15031222/legacy-floppy-compatibility-with-uefi-boot?forum=w7itprohardware
> https://social.technet.microsoft.com/Forums/windows/en-US/e91ec27b-0c2d-44a3-b949-e77fa810a4c0/windows-7-uefi-fdd-how-to?forum=w7itprohardware
Right, I found these. (The last two anyway.)
I also found technet comments that plainly stated "it would never work".
(Under your first link, I can read as well: "There have been reports
that Windows does not properly support motherboard floppy controllers
when booting from UEFI. The cause is not definitively known though a
couple of pieces of data have emerged, one pointing to an issue with ACPI".)
> - the links mentioned the need in _FDE object but indicated it only
> allowed for successful enumeration of floppies, not the actual access;
> I proved that experimentally
>
> - the ACPI spec stated that _FDE went in concert with _FDI so I tried it
> and it worked out
Thank you for confirming.
So, improving Windows compat in QEMU remains trial-and-error-based, and
occasionally reverse-engineering-based. Deplorable.
> Voila. Besides, I later discovered that a similar research had been
> carried out for Parallels proprietary hypervisor, with a similar
> outcome.
That is, large amounts of work are being duplicated between participants
in this industry segment, because Microsoft doesn't give a flying fsck
about documenting their exact platform requirements. (The fact that _FDE
and _FDI are described in the ACPI spec means exactly zilch, because
Microsoft have ignored e.g. DataTableRegion from the same spec, since
ACPI 2.0 -- the year 2000.) I'm quite sure this obscurity is
intentional, and meant to spread uncertainty and waste competitors'
resources.
Whereas they are having a field day whenever they look at open source
components in a hybrid virt stack.
Nothing to see here, move along.
Thanks again.
Laszlo
prev parent reply other threads:[~2016-01-13 16:23 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-30 20:11 [Qemu-devel] [PATCH v5 0/6] i386: expose floppy-related objects in SSDT Roman Kagan
2015-12-30 20:11 ` [Qemu-devel] [PATCH v5 1/6] i386/pc: expose identifying the floppy controller Roman Kagan
2015-12-30 20:11 ` [Qemu-devel] [PATCH v5 2/6] i386/acpi: make floppy controller object dynamic Roman Kagan
2015-12-30 20:11 ` [Qemu-devel] [PATCH v5 3/6] tests/acpi: update test data Roman Kagan
2015-12-30 20:11 ` [Qemu-devel] [PATCH v5 4/6] expose floppy drive geometry and CMOS type Roman Kagan
2016-01-04 20:44 ` John Snow
2016-01-04 21:10 ` Michael S. Tsirkin
2016-01-06 13:55 ` [Qemu-devel] [Qemu-block] " Denis V. Lunev
2015-12-30 20:11 ` [Qemu-devel] [PATCH v5 5/6] i386: populate floppy drive information in SSDT Roman Kagan
2015-12-30 20:11 ` [Qemu-devel] [PATCH v5 6/6] tests/acpi: update test data Roman Kagan
2016-01-06 14:04 ` [Qemu-devel] [PATCH v5 0/6] i386: expose floppy-related objects in SSDT Igor Mammedov
2016-01-07 10:56 ` Michael S. Tsirkin
2016-01-07 10:56 ` Michael S. Tsirkin
2016-01-07 13:54 ` Igor Mammedov
2016-01-07 13:57 ` Igor Mammedov
2016-01-11 13:51 ` Igor Mammedov
2016-01-11 14:26 ` Roman Kagan
2016-01-11 14:47 ` Igor Mammedov
2016-01-11 15:05 ` Roman Kagan
2016-01-13 14:36 ` Laszlo Ersek
2016-01-13 15:49 ` Roman Kagan
2016-01-13 16:05 ` Roman Kagan
2016-01-13 16:23 ` Laszlo Ersek [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=56967A06.2060305@redhat.com \
--to=lersek@redhat.com \
--cc=dgilbert@redhat.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=jsnow@redhat.com \
--cc=kwolf@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-stable@nongnu.org \
--cc=rkagan@virtuozzo.com \
--cc=rth@twiddle.net \
/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.