qemu/hw
Roman Kagan 27b9fc54d2 i386: populate floppy drive information in DSDT
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.

However Windows doesn't do it. Instead, it requests this information
from BIOS via int 0x13/0x08 or through ACPI objects _FDE (Floppy Drive
Enumerate) and _FDI (Floppy Drive Information) of the floppy controller
object.  On UEFI systems only ACPI-based detection is supported.

QEMU doesn't provide those objects in its ACPI tables and as a result
floppy drives are invisible to Windows on UEFI/OVMF.

This patch adds those objects to the floppy controller in DSDT,
populating them with the information from respective QEMU objects.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Marcel Apfelbaum <marcel@redhat.com>
Cc: John Snow <jsnow@redhat.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Kevin O'Connor <kevin@koconnor.net>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2016-03-11 14:55:15 +02:00
..
9pfs all: Clean up includes 2016-02-23 12:43:05 +00:00
acpi acpi: add build_append_named_dword, returning an offset in buffer 2016-03-11 14:54:28 +02:00
alpha loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
arm acpi: arm: add fw_cfg device node to dsdt 2016-03-08 12:15:15 +01:00
audio all: Clean up includes 2016-02-23 12:43:05 +00:00
block fdc: add function to determine drive chs limits 2016-03-11 14:55:15 +02:00
bt hw: Clean up includes 2016-01-29 15:07:25 +00:00
char ui: Shorten references into InputEvent 2016-03-05 10:41:55 +01:00
core loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
cpu hw/intc/arm_gic.c: Implement GICv2 GICC_DIR 2016-03-04 11:30:22 +00:00
cris loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
display qxl: lock current_async update in qxl_soft_reset 2016-03-01 07:51:32 +01:00
dma i8257: fix Terminal Count status 2016-03-07 13:18:28 +01:00
gpio ARM: PL061: Checking register r/w accesses to reserved area 2016-02-26 15:09:42 +00:00
i2c hw: Clean up includes 2016-01-29 15:07:25 +00:00
i386 i386: populate floppy drive information in DSDT 2016-03-11 14:55:15 +02:00
ide ahci: prohibit "restarting" the FIS or CLB engines 2016-02-10 13:29:40 -05:00
input ui: Shorten references into InputEvent 2016-03-05 10:41:55 +01:00
intc hw/intc/arm_gic.c: Implement GICv2 GICC_DIR 2016-03-04 11:30:22 +00:00
ipack hw: Clean up includes 2016-01-29 15:07:25 +00:00
ipmi ipmi: sensor number should not exceed MAX_SENSORS 2016-02-16 16:41:25 +01:00
isa ich9: Remove enable_tco arguments from init functions 2016-02-25 13:14:19 +02:00
lm32 loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
m68k loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
mem pc-dimm: fix error handling in pc_dimm_check_memdev_is_busy() 2016-03-11 14:55:15 +02:00
microblaze loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
mips loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
misc memory: Drop MemoryRegion.ram_addr 2016-03-07 13:26:29 +01:00
moxie loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
net rocker: allow user to specify rocker world by property 2016-03-08 15:34:18 +08:00
nvram fw_cfg: expose control register size in fw_cfg.h 2016-03-08 10:46:30 +01:00
openrisc loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
pci pci core: function pci_bus_init() cleanup 2016-02-25 13:14:18 +02:00
pci-bridge aer: impove pcie_aer_init to support vfio device 2016-02-19 09:42:28 -07:00
pci-host loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
pcmcia hw: Clean up includes 2016-01-29 15:07:25 +00:00
ppc loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
s390x loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
scsi scsi-bus: Remove tape command from scsi_req_xfer 2016-03-07 17:56:23 +01:00
sd sdhci: Implement DeviceClass reset 2016-03-04 11:30:17 +00:00
sh4 sh4: Clean up includes 2016-01-29 15:07:24 +00:00
smbios hw: Clean up includes 2016-01-29 15:07:25 +00:00
sparc loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
sparc64 loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
ssi hw: Clean up includes 2016-01-29 15:07:25 +00:00
timer tusb6010: move from hw/timer to hw/usb 2016-02-23 10:38:00 +01:00
tpm hw: Clean up includes 2016-01-29 15:07:25 +00:00
tricore loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
unicore32 unicore: Clean up includes 2016-01-29 15:07:22 +00:00
usb usb-redirect: Avoid double free of data 2016-02-29 11:45:26 +01:00
vfio all: Clean up includes 2016-02-23 12:43:05 +00:00
virtio virtio-balloon: add 'available' counter 2016-03-11 14:55:15 +02:00
watchdog watchdog/diag288: avoid race condition on expired watchdog 2016-03-01 12:15:28 +01:00
xen xen: drop XenXC and associated interface wrappers 2016-02-10 12:01:24 +00:00
xenpv xen: Clean up includes 2016-01-29 15:07:23 +00:00
xtensa loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
Makefile.objs Add a base IPMI interface 2015-12-22 18:39:19 +02:00