From 34d4260e1846d69d7241f690534e3dd4b3e6fd5b Mon Sep 17 00:00:00 2001 From: Kevin Wolf Date: Thu, 20 Oct 2011 16:37:26 +0200 Subject: pc: Fix floppy drives with if=none Commit 63ffb564 broke floppy devices specified on the command line like -drive file=...,if=none,id=floppy -global isa-fdc.driveA=floppy because it relies on drive_get() which works only with -fda/-drive if=floppy. This patch resembles what we're already doing for IDE, i.e. remember the floppy device that was created and use that to extract the BlockDriverStates where needed. Signed-off-by: Kevin Wolf Reviewed-by: Markus Armbruster --- hw/fdc.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'hw/fdc.c') diff --git a/hw/fdc.c b/hw/fdc.c index f8af2de2ce..ecaad0965c 100644 --- a/hw/fdc.c +++ b/hw/fdc.c @@ -1947,6 +1947,18 @@ static int sun4m_fdc_init1(SysBusDevice *dev) return fdctrl_init_common(fdctrl); } +void fdc_get_bs(BlockDriverState *bs[], ISADevice *dev) +{ + FDCtrlISABus *isa = DO_UPCAST(FDCtrlISABus, busdev, dev); + FDCtrl *fdctrl = &isa->state; + int i; + + for (i = 0; i < MAX_FD; i++) { + bs[i] = fdctrl->drives[i].bs; + } +} + + static const VMStateDescription vmstate_isa_fdc ={ .name = "fdc", .version_id = 2, -- cgit v1.2.3