Statistics
| Branch: | Revision:

root / hw @ 2bf90458

# Date Author Comment
2bf90458 11/24/2011 06:31 pm Benoît Canet

pxa2xx_mmci: convert to memory API

Convert mechanicaly; the access size of the old_mmio fields
seems odd.

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

af687ddc 11/24/2011 06:31 pm Benoît Canet

syborg_virtio: convert to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

55a8b801 11/24/2011 06:31 pm Benoît Canet

pxa2xx_gpio: convert to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

354a8c06 11/24/2011 06:31 pm Benoît Canet

pxa2xx_pcmcia.c: convert common memory space to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

4beeaa71 11/24/2011 06:31 pm Benoît Canet

pxa2xx_pcmcia.c: convert attribute memory space to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

59aee13c 11/24/2011 06:31 pm Benoît Canet

pxa2xx_pcmcia.c: convert io memory space to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

6cd816b8 11/24/2011 06:31 pm Benoît Canet

pxa2xx_keypad: convert to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

b755bde3 11/24/2011 06:31 pm Benoît Canet

pxa2xx_timer: convert to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

90e8e5a3 11/24/2011 06:31 pm Benoît Canet

pxa2xx_pic: convert to memory API

The ARM documentation say transfers between the cpu and the
coprocessor are 32 bits wide.
Use 4 as size for coprocessor read and writes.

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

2443fa27 11/24/2011 06:31 pm Benoît Canet

stellaris: convert gptm to memory API

Signed-off-by: Benoit Canet <>
Reviewed-by: Peter Maydell <>
Signed-off-by: Avi Kivity <>

e2ba99e9 11/24/2011 06:31 pm Benoît Canet

marvell_88x8618_audio: convert to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

b9441ebb 11/24/2011 06:31 pm Benoît Canet

mst_fpga: convert to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

0520a049 11/24/2011 06:31 pm Benoît Canet

syborg_fb: convert to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

9cc60076 11/24/2011 06:31 pm Benoît Canet

syborg_interrupt: convert to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

6620cb3c 11/24/2011 06:31 pm Benoît Canet

syborg_keyboard: convert to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

9ca9e358 11/24/2011 06:31 pm Benoît Canet

syborg_pointer: convert to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

43b8c30d 11/24/2011 06:31 pm Benoît Canet

syborg_rtc: convert to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

a8a00822 11/24/2011 06:31 pm Benoît Canet

syborg_serial: convert to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

7d5ebaf0 11/24/2011 06:31 pm Benoît Canet

syborg_timer: convert to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

dc6c1b37 11/24/2011 06:31 pm Avi Kivity

fdc: convert to memory API

FIXME: instance ID for migration

Signed-off-by: Avi Kivity <>

cfee758c 11/24/2011 06:31 pm Avi Kivity

sbi: convert to memory API

Signed-off-by: Avi Kivity <>

1a440963 11/24/2011 06:31 pm Jan Kiszka

ioapic: Reject non-dword accesses to IOWIN register

Aligns the model with the spec.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Avi Kivity <>

4d5bf5f6 11/24/2011 06:31 pm Jan Kiszka

ioapic: Convert to memory API

This maintains the old imprecise access size handling.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Avi Kivity <>

71d9bc50 11/24/2011 06:31 pm Benoît Canet

integratorcp: convert core to memory API

Signed-off-by: Benoit Canet <>
Reviewed-by: Peter Maydell <>
Signed-off-by: Avi Kivity <>

61074e46 11/24/2011 06:31 pm Benoît Canet

integratorcp: convert icp pic to memory API

Signed-off-by: Benoit Canet <>
Reviewed-by: Peter Maydell <>
Signed-off-by: Avi Kivity <>

0c36493e 11/24/2011 06:31 pm Benoît Canet

integratorcp: convert control to memory API

Signed-off-by: Benoit Canet <>
Signed-off-by: Avi Kivity <>

5699301f 11/24/2011 06:31 pm Benoît Canet

stellaris: convert sys to memory API

Signed-off-by: Benoit Canet <>
Reviewed-by: Peter Maydell <>
Signed-off-by: Avi Kivity <>

8ea72f38 11/24/2011 06:31 pm Benoît Canet

stellaris: convert i2c to memory API

Signed-off-by: Benoit Canet <>
Reviewed-by: Peter Maydell <>
Signed-off-by: Avi Kivity <>

71a2df05 11/24/2011 06:31 pm Benoît Canet

stellaris: convert adc to memory API

Signed-off-by: Benoit Canet <>
Reviewed-by: Peter Maydell <>
Signed-off-by: Avi Kivity <>

48484757 11/24/2011 06:31 pm Avi Kivity

pl011: convert to memory API

Signed-off-by: Avi Kivity <>

02a59c37 11/24/2011 06:31 pm Avi Kivity

pl022: convert to memory API

Signed-off-by: Avi Kivity <>

9edbe481 11/24/2011 06:31 pm Avi Kivity

pl031: convert to memory API

Signed-off-by: Avi Kivity <>

b8f7a738 11/24/2011 06:31 pm Avi Kivity

pl050: convert to memory API

Signed-off-by: Avi Kivity <>

3cf89f8a 11/24/2011 06:31 pm Avi Kivity

pl061: convert to memory API

Signed-off-by: Avi Kivity <>

63b02e04 11/24/2011 06:31 pm Avi Kivity

pl080: convert to memory API

Signed-off-by: Avi Kivity <>

1a6b31ce 11/24/2011 06:31 pm Avi Kivity

pl110: convert to memory API

Signed-off-by: Avi Kivity <>

ca45842a 11/24/2011 06:31 pm Avi Kivity

pl181: convert to memory API

Signed-off-by: Avi Kivity <>

7f8293bf 11/24/2011 06:31 pm Avi Kivity

pl190: convert to memory API

Signed-off-by: Avi Kivity <>

04d66689 11/24/2011 06:31 pm Avi Kivity

tosa: convert to memory API

Signed-off-by: Avi Kivity <>

62ceeb2c 11/24/2011 06:31 pm Avi Kivity

versatilepb: convert to memory API

Signed-off-by: Avi Kivity <>

e6d17b05 11/24/2011 06:31 pm Avi Kivity

vexpress: convert to memory API

Signed-off-by: Avi Kivity <>

333b13fc 11/24/2011 06:31 pm Avi Kivity

virtex_ml507: convert to memory API

Signed-off-by: Avi Kivity <>

0af58e58 11/24/2011 06:31 pm Avi Kivity

shix: convert to memory API

RAM wasn't actually allocated, only used, so fix that as well.

Signed-off-by: Avi Kivity <>

c6017850 11/24/2011 06:31 pm Avi Kivity

jazz_led: convert to memory API

Signed-off-by: Avi Kivity <>

63858cd9 11/24/2011 06:31 pm Avi Kivity

parallel: convert to memory API

Signed-off-by: Avi Kivity <>

e71ceafc 11/24/2011 06:31 pm Avi Kivity

zaurus: convert to memory API

Signed-off-by: Avi Kivity <>

50322249 11/21/2011 11:05 pm Michael S. Tsirkin

msix: track function masked in pci device state

Only go over the table when function is masked.
This is not really important for qemu.git but helps
fix a bug in qemu-kvm.git.

Signed-off-by: Michael S. Tsirkin <>
Signed-off-by: Anthony Liguori <>

9a93b617 11/21/2011 11:05 pm Michael S. Tsirkin

msix: Prevent bogus mask updates on MMIO accesses

From: Jan Kiszka <>

Only accesses to the MSI-X table must trigger a call to
msix_handle_mask_update, otherwise the vector
value might be out of range.

Signed-off-by: Jan Kiszka <>...

ae392c41 11/21/2011 11:05 pm Michael S. Tsirkin

msix: avoid mask updates if mask is unchanged

Check pending bit only if vector mask status changed.
This is not really important for qemu.git but helps
fix a bug in qemu-kvm.git.

Signed-off-by: Michael S. Tsirkin <>
Signed-off-by: Anthony Liguori <>

ff51a738 11/21/2011 11:05 pm Hongyong Zang

ivshmem: fix PCI BAR2 registration during initialization

Ivshmem cannot work, and the command lspci cannot show ivshmem BAR2 in the guest.
As for pci_register_bar(), parameter MemoryRegion should be s->bar instead of s->ivshmem.

Reviewed-by: Avi Kivity <>...

930b5883 11/21/2011 10:58 pm Paolo Bonzini

9p: pass dotl flags to the unlinkat method

AT_REMOVEDIR is not defined on all systems. Pass the raw flags from the
9p protocol, which are always there.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Anthony Liguori <>

f5654039 11/21/2011 10:58 pm Paolo Bonzini

9p: allow compiling the dummy virtio-9p-handle.c code on Linux

Avoid a conflict on the definition of struct file_handle by
using a replacement name.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Anthony Liguori <>

38e0735e 11/21/2011 10:58 pm Anthony Liguori

ivshmem: use migration blockers to prevent live migration in peer mode (v2)

Now when you try to migrate with ivshmem, you get a proper QMP error:

(qemu) migrate tcp:localhost:1025
Migration is disabled when using feature 'peer mode' in device 'ivshmem'
(qemu)...

a3baf1be 11/21/2011 10:44 pm Anthony Liguori

Merge remote-tracking branch 'kraxel/usb.31' into staging

1571b6cb 11/21/2011 10:36 pm Anthony Liguori

Merge remote-tracking branch 'origin/master' into staging

59310659 11/21/2011 04:32 pm Gerd Hoffmann

usb-storage: don't try to send the status early.

Until recently all scsi commands sent to scsi-disk did either transfer
data or finished instantly. The correct implementation of
SYNCRONIZE_CACHE changed the picture though, and usb-storage needs
a fix to handle that case correctly.

b2467216 11/21/2011 04:32 pm Gerd Hoffmann

ehci: add assert

Coverity thinks q could be NULL there and warns.
I believe it can't be NULL there.
Add assert to prove it.

Signed-off-by: Gerd Hoffmann <>

414c4604 11/21/2011 03:08 pm Gerd Hoffmann

usb-storage: drop result from device state.

Signed-off-by: Gerd Hoffmann <>

92a114f6 11/21/2011 03:08 pm Gerd Hoffmann

usb-storage: fill status in complete callback.

Put status word into device state, fill it in command_complete, have
usb_msd_send_status just send it out.

Signed-off-by: Gerd Hoffmann <>

7b863f41 11/21/2011 03:08 pm Gerd Hoffmann

usb-storage: drop tag from device state.

scsi keeps track of the tag in SCSIRequest,
no need to store a separate copy.

Signed-off-by: Gerd Hoffmann <>

e04da7c3 11/21/2011 03:07 pm Gerd Hoffmann

usb-storage: move status debug message to usb_msd_send_status.

usb_msd_send_status can be called from different code paths, move the
debug message into the function to make sure it is printed
unconditionally.

Signed-off-by: Gerd Hoffmann <>

725e14e9 11/19/2011 01:23 pm Markus Armbruster

loader: Fix read_targphys() to behave when read() fails

Happily passes (size_t)-1 to rom_add_blob_fixed(), which promptly dies
attempting to malloc that much. Spotted by Coverity.

Bonus fix for ROMs larger than INT_MAX bytes: return ssize_t instead
of int. Bug can't bite, because the only user load_aout() limits ROM...

25cc4a76 11/19/2011 01:17 pm Blue Swirl

Merge branch 's390-1.0' of git://repo.or.cz/qemu/agraf

  • 's390-1.0' of git://repo.or.cz/qemu/agraf:
    s390x: initialize virtio dev region
    tcg: Use TCGReg for standard tcg-target entry points.
    tcg: Standardize on TCGReg as the enum for hard registers
    s390x: Add shutdown for TCG s390-virtio machine...
05a86f23 11/19/2011 01:17 pm Blue Swirl

Merge branch 'ppc-1.0' of git://repo.or.cz/qemu/agraf

  • 'ppc-1.0' of git://repo.or.cz/qemu/agraf:
    pseries: Fix qdev.id handling in the VIO bus code
    pseries: Allow kernel's early debug output to work
    pseries: Default reg for vty should be SPAPR_VTY_BASE_ADDRESS...
54dcd0b3 11/18/2011 09:30 pm Anthony Liguori

Merge remote-tracking branch 'kwolf/block-stable' into staging

1e34d859 11/18/2011 03:26 pm Michael Ellerman

pseries: Fix qdev.id handling in the VIO bus code

When the user creates a device on the command line with -device, they
can specify the id, using id=foo. Currently the VIO bus code overwrites
this id with it's own value. We should only set qdev.id if it is not...

57285302 11/18/2011 03:22 pm Michael Ellerman

pseries: Check we have a chardev in spapr_vty_init()

If qemu is run like:

qemu-system-ppc64 -nodefaults -device spapr-vty

We end up in spapr_vty_init() with dev->chardev == NULL. Currently
that leads to a segfault because we unconditionally call
qemu_chr_add_handlers()....

5afdec40 11/18/2011 03:22 pm Michael Ellerman

pseries: Default reg for vty should be SPAPR_VTY_BASE_ADDRESS

In commit b4a78527359a4540d84d4cdf629d01cbb262f698 ("Place pseries vty
devices at addresses more similar to existing machines"), we changed the
default reg for the vty to 0x30000000, however we didn't update the default...

3feef8ad 11/18/2011 03:22 pm David Gibson

pseries: Allow kernel's early debug output to work

The PAPR specification defines a virtual TTY/console interface for guest
OSes to use via the H_PUT_TERM_CHAR and H_GET_TERM_CHAR hypercalls. There
can be multiple virtual ttys, so these take a "termno" parameter. This...

92c93a81 11/18/2011 03:22 pm David Gibson

pseries: Correct RAM size check for SLOF

The SLOF firmware used on the pseries machine needs a reasonable amount of
(guest) RAM in order to run, so we have a check in the machine init
function to check that this is available. However, SLOF runs in real mode...

5435352c 11/18/2011 03:22 pm David Gibson

pseries: Fix buggy spapr_vio_find_by_reg()

The spapr_vio_find_by_reg() function in hw/spapr_vio.c is supposed to find
the device structure for a PAPR virtual IO device with the given reg value,
and return NULL if none exists.

It does the first ok, but if no device with that reg exists, it just...

33ebad12 11/18/2011 03:14 pm Paolo Bonzini

scsi-block: always use SG_IO for MMC devices

CD burning messes up the state of the host page cache and host block
device. Just pass all operations down to the device, even though that
might have slightly worse performance. Everything else just is not
reliable in combination with burning....

f3b338ef 11/18/2011 03:12 pm Paolo Bonzini

scsi: pass down REQUEST SENSE to the device when there is no stored sense

This will let scsi-block/scsi-generic report progress on long
operations.

Reported-by: Thomas Schmitt <>
Tested-by: Thomas Schmitt <>...

0fd76ff4 11/18/2011 03:09 pm Paolo Bonzini

scsi: remove block descriptors from CDs

Reported-by: Thomas Schmitt <>
Tested-by: Thomas Schmitt <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Kevin Wolf <>

06b86357 11/18/2011 03:04 pm Paolo Bonzini

scsi: fix parsing of allocation length field

- several MMC commands were parsed wrong by QEMU because their allocation
length/parameter list length is placed in a non-standard position in
the CDB (i.e. it is different from most commands with the same value in...

00a01ad4 11/18/2011 02:57 pm Paolo Bonzini

scsi: update list of commands

Add more commands and their names, and remove SEEK which is obsolete.
Instead, use SET_CAPACITY which is still in SSC.

Tested-by: Thomas Schmitt <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Kevin Wolf <>

2c20ae11 11/18/2011 02:54 pm Paolo Bonzini

atapi: kill MODE SENSE, fix MODE SENSE

Mode page 2A of emulated ATAPI DVD-ROM should have page length 0x14
like SCSI CD-ROM, rather than 0x12.

Mode page length is off by 8, as it should contain the length of the
payload after the first two bytes....

245d0049 11/18/2011 02:37 pm Paolo Bonzini

scsi-disk: guess geometry

Old operating systems rely on correct geometry to convert from CHS
addresses to LBA. Providing correct data is necessary for them to boot.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Kevin Wolf <>

7082826e 11/18/2011 02:35 pm Paolo Bonzini

scsi: fix fw path

The pre-1.0 firmware path for SCSI devices already included the LUN
using the suffix argument to add_boot_device_path. I missed that when
making channel and LUN customizable. Avoid that it is included twice, and
convert the colons to commas for consistency with other kinds of devices...

b5e4946f 11/17/2011 02:57 pm Stefan Weil

Fix spelling in documentation and comments (similiar -> similar)

This bug was detected by codespell.
In mips_mipssim.c a grammatical error was fixed, too.

Signed-off-by: Stefan Weil <>
Signed-off-by: Stefan Hajnoczi <>

e1556ad5 11/14/2011 07:26 pm Peter Maydell

hw/omap_gpio: Fix infinite recursion when doing 8/16 bit reads

Fix a long-standing bug which meant that any attempt to do an
8 or 16 bit read from the OMAP GPIO module would cause qemu to
crash due to an infinite recursion.

Signed-off-by: Peter Maydell <>...

3827cdb1 11/14/2011 07:26 pm Alon Levy

pc_piix: set qxl revision to 2 for pc-0.14

The default is still 3, and I didn't change older machine types.

Signed-off-by: Alon Levy <>
Signed-off-by: Anthony Liguori <>

371572df 11/14/2011 07:17 pm Andrzej Zaborowski

Revert bugfix e7852674d5 until tested or until after the release.

Signed-off-by: Andrzej Zaborowski <>

326384d5 11/14/2011 06:47 pm Alexander Graf

s390x: initialize virtio dev region

When running the s390x virtio machine we can potentially use uninitialized
memory for the virtio device backing ram. That can lead to weird breakge.

So let's better initialize it to 0 properly.

Reported-by: Andreas Färber <>...

e9d86b76 11/14/2011 06:47 pm Christian Borntraeger

s390: fix reset hypercall to reset the status

This patch fixes the reset hypercall which is supposed to also
reset the device status in device memory.
This fixes the following bug:

[root@localhost driver]# echo virtio0 > unbind
[ 35.056966] ------------[ cut here ]------------...

13449a6e 11/14/2011 06:47 pm Christian Borntraeger

s390: fix short kernel command lines

The default kernel command line for s390 is
"root=/dev/ram0 ro"

When overriding this line, we have to ensure to also copy the \0 to
avoid false lines, for example, -append "root=/dev/vda" will result in
"root=/dev/vda0 ro" with the current code....

854e42f3 11/14/2011 06:47 pm Christian Borntraeger

s390: Fix cpu shutdown for KVM

On s390 a shutdown is the state of all CPUs being either stopped
or disabled (for interrupts) waiting. We have to track the overall
number of running CPUs to call the shutdown sequence accordingly.
This patch implements the counting and shutdown handling for the...

a3efecb8 11/14/2011 04:22 am Juha Riihimäki

hw/onenand: reject read-only drives

Signed-off-by: Juha Riihimäki <>
Reviewed-by: Markus Armbruster <>
Signed-off-by: Andrzej Zaborowski <>

3fc3abf7 11/14/2011 04:19 am Juha Riihimäki

hw/nand: reject read-only drives

also gracefully fail on nand_device_init() for unsupported block
size instead of aborting.

Signed-off-by: Juha Riihimäki <>
Reviewed-by: Markus Armbruster <>
Signed-off-by: Andrzej Zaborowski <>

b2887c43 11/14/2011 04:09 am Jean-Christophe DUBOIS

hw/arm_sysctl: Fix RESETCTL for realview-pb-a8 and -pbx-a9

Depending on the considered baseboard the bit used to
reset the platform is different.

Here is the list of considered Realview/Versatile platforms:

Realview/Versatile AB for ARM926EJ-S: BOARD_ID = 0x100 = BOARD_ID_PB9...

7c64d297 11/14/2011 03:26 am Peter Maydell

hw/pxa2xx.c: Fix handling of RW bits in PMCR

Fix an error in commit afd4a6522 which meant that writing a zero
to the RW bits in the PMCR wouldn't actually clear them. (Error
spotted by Andrzej Zaborowski.)

Signed-off-by: Peter Maydell <>...

e7852674 11/14/2011 03:19 am Peter Maydell

hw/usb-net.c: Fix precedence bug when checking rndis_state

"!X == 2" is always false (spotted by Coverity), so the checks
for whether rndis is in the correct state would never fire.

Signed-off-by: Peter Maydell <>
Signed-off-by: Andrzej Zaborowski <>

74d33d5c 11/12/2011 01:26 am Anthony Liguori

Merge remote-tracking branch 'kwolf/block-stable' into staging

35914dc7 11/11/2011 08:49 pm Peter Maydell

hw/tc58128.c: Remove unnecessary check for g_malloc failure

Remove a check for g_malloc failing: this never happens.
Also use g_malloc rather than g_malloc0 as we immediately
memset the entire region and so zero-initialising it is pointless.
Spotted by Coverity (see bug 887883)....

b78c2b3a 11/11/2011 08:49 pm Peter Maydell

hw/pl061: Remove pointless comparison of array to null

Remove a pointless comparison of an array to null. (There is
no need to check whether s->out[i] is non-null as qemu_set_irq
will do that for us.) Spotted by Coverity (see bug 887883).

Signed-off-by: Peter Maydell <>...

afd4a652 11/11/2011 08:49 pm Peter Maydell

hw/pxa2xx.c: Fix handling of R/WC bits in PMCR

Fix a bug in handling the write-one-to-clear bits in the PMCR
which meant that we would always clear the bit even if the
value written was a zero. Spotted by Coverity (see bug 887883).

Signed-off-by: Peter Maydell <>...

ee71c984 11/11/2011 08:49 pm Peter Maydell

hw/arm_timer.c: Fix bounds check for Integrator timer accesses

There are only three counter/timers on the integrator board:
correct the bounds check to avoid an array overrun. (Spotted
by Coverity, see bug 887883).

Signed-off-by: Peter Maydell <>...

096685fc 11/11/2011 08:49 pm Peter Maydell

hw/omap_intc.c: Avoid crash on access to nonexistent banked registers

Avoid a crash due to null pointer dereference if a guest attempts
to access banked registers for a nonexistent bank. Spotted by
Coverity (see bug 887883).

Signed-off-by: Peter Maydell <>...

d43b45e2 11/11/2011 06:33 pm David Gibson

pseries: Fix initialization of sPAPREnvironment structure

Since we added PCI support to the pseries machine, we include a qlist of
PCI host bridges in the sPAPREnvironment structure. However this list
was never properly initialized it. Somehow we got away with this until...

980bda8b 11/11/2011 03:02 pm Peter Maydell

hw/pc.c: Fix use-while-uninitialized of fd_type[]

Fix a use-while-uninitialized of the fd_type[] array (introduced
in commit 34d4260e1, noticed by Coverity). This is more theoretical
than practical, since it's quite hard to get here with floppy==NULL
(the qdev_try_create() of the isa-fdc device has to fail)....