[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 13/51] fdc: add function to determine drive chs li
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL v2 13/51] fdc: add function to determine drive chs limits |
Date: |
Tue, 15 Mar 2016 17:00:56 +0200 |
From: Roman Kagan <address@hidden>
When populating ACPI objects for floppy drives one needs to provide the
maximum values for cylinder, sector, and head number the drive supports.
This patch adds a function that iterates through the array of predefined
floppy drive formats and returns the maximum values of c, h, s, out of
those matching the given floppy drive type.
Signed-off-by: Roman Kagan <address@hidden>
Cc: Igor Mammedov <address@hidden>
Cc: "Michael S. Tsirkin" <address@hidden>
Cc: Marcel Apfelbaum <address@hidden>
Cc: John Snow <address@hidden>
Cc: Laszlo Ersek <address@hidden>
Cc: Kevin O'Connor <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: John Snow <address@hidden>
---
include/hw/block/fdc.h | 2 ++
hw/block/fdc.c | 23 +++++++++++++++++++++++
2 files changed, 25 insertions(+)
diff --git a/include/hw/block/fdc.h b/include/hw/block/fdc.h
index adce14f..1749dab 100644
--- a/include/hw/block/fdc.h
+++ b/include/hw/block/fdc.h
@@ -15,5 +15,7 @@ void sun4m_fdctrl_init(qemu_irq irq, hwaddr io_base,
DriveInfo **fds, qemu_irq *fdc_tc);
FloppyDriveType isa_fdc_get_drive_type(ISADevice *fdc, int i);
+void isa_fdc_get_drive_max_chs(FloppyDriveType type,
+ uint8_t *maxc, uint8_t *maxh, uint8_t *maxs);
#endif
diff --git a/hw/block/fdc.c b/hw/block/fdc.c
index 9838d21..fc3aef9 100644
--- a/hw/block/fdc.c
+++ b/hw/block/fdc.c
@@ -2557,6 +2557,29 @@ FloppyDriveType isa_fdc_get_drive_type(ISADevice *fdc,
int i)
return isa->state.drives[i].drive;
}
+void isa_fdc_get_drive_max_chs(FloppyDriveType type,
+ uint8_t *maxc, uint8_t *maxh, uint8_t *maxs)
+{
+ const FDFormat *fdf;
+
+ *maxc = *maxh = *maxs = 0;
+ for (fdf = fd_formats; fdf->drive != FLOPPY_DRIVE_TYPE_NONE; fdf++) {
+ if (fdf->drive != type) {
+ continue;
+ }
+ if (*maxc < fdf->max_track) {
+ *maxc = fdf->max_track;
+ }
+ if (*maxh < fdf->max_head) {
+ *maxh = fdf->max_head;
+ }
+ if (*maxs < fdf->last_sect) {
+ *maxs = fdf->last_sect;
+ }
+ }
+ (*maxc)--;
+}
+
static const VMStateDescription vmstate_isa_fdc ={
.name = "fdc",
.version_id = 2,
--
MST
- [Qemu-devel] [PULL v2 03/51] acpi: allow using object as offset for OperationRegion, (continued)
- [Qemu-devel] [PULL v2 03/51] acpi: allow using object as offset for OperationRegion, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 02/51] acpi: add aml_concatenate(), Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 05/51] balloon: fix segfault and harden the stats queue, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 07/51] hw/virtio: group virtio flags into an enum, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 06/51] hw/virtio: fix double use of a virtio flag, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 08/51] virtio-balloon: add 'available' counter, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 09/51] vhost-user: verify that number of queues is less than MAX_QUEUE_NUM, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 11/51] i386/acpi: make floppy controller object dynamic, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 10/51] pc-dimm: fix error handling in pc_dimm_check_memdev_is_busy(), Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 12/51] i386: expose floppy drive CMOS type, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 13/51] fdc: add function to determine drive chs limits,
Michael S. Tsirkin <=
- [Qemu-devel] [PULL v2 15/51] i386: update expected DSDT, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 14/51] i386: populate floppy drive information in DSDT, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 16/51] virtio-pci: call pci reset variant when guest requests reset., Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 18/51] ich9lpc: fix typo, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 19/51] hw/acpi: fix Q35 support for legacy Windows OS, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 20/51] acpi-test-data: add _DIS methods, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 17/51] msi_supported -> msi_nonbroken, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 21/51] pci-ids: add virtio 1.0 ids to spec, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 22/51] nvdimm acpi: initialize the resource used by NVDIMM ACPI, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 24/51] nvdimm acpi: let qemu handle _DSM method, Michael S. Tsirkin, 2016/03/15