On 12/14/2015 06:05 PM, Igor Mammedov wrote:
On Mon, 14 Dec 2015 11:22:39 +0300
"Denis V. Lunev" <d...@openvz.org> wrote:
From: Roman Kagan <rka...@virtuozzo.com>
On x86-based systems Linux determines the presence and the type of
floppy drives via a query of a CMOS field. So does SeaBIOS when
populating the return data for int 0x13 function 0x08.
Windows doesn't; instead, it requests this information from BIOS via
int 0x13/0x08 or through ACPI objects _FDE (Floppy Drive Enumerate)
and _FDI (Floppy Drive Information). On UEFI systems only ACPI-based
detection is supported.
QEMU used not to provide those objects in its DSDT; as a result floppy
drives were invisible to Windows on UEFI/OVMF.
This patch implements those objects in ASL, making the ACPI
interpreter query the CMOS field and populate the objects. The data
values used for _FDI (which, per ACPI spec, is supposed to be
equivalent to BIOS int 0x13/0x08) are taken from SeaBIOS.
We are in process of removing static DSDT (ASL template) and replacing
it with dynamically generated one.
So please do not add new ASL to it, instead of it
please redo patch using AML API and it would be better if you
do it on top of following series:
"[PATCH 00/74] pc: acpi: convert DSDT to AML API and drop ASL
templates support"
http://qemu.patchew.org/series/%3c1449704528-289297-1-git-send-email-imamm...@redhat.com%3E
to avoid touching ASL code and avoid conflicts with API changes
Patch also could be simpler if you generate _FDE,_FDI
dynamically instead of trying to detect drive presence
from guest side.
See below for comments.
Igor,
do you have any GIT tree we could be based on :) ?
Den