xemu/hw/block
Ziyue Yang 8929fc3a55 hw/block/pflash_cfi*.c: fix confusing assert fail message
The patch is to fix the confusing assert fail message caused by
un-initialized device structure (from bite sized tasks).

The bug can be reproduced by

./qemu-system-x86_64 -nographic -device cfi.pflash01

The CFI hardware is dynamically loaded by QOM realizing mechanism,
however the realizing function in pflash_cfi01_realize function
requires the device being initialized manually before calling, like

./qemu-system-x86_64 -nographic
-device cfi.pflash01,num-blocks=1024,sector-length=4096,name=testcard

Once the initializing parameters are left off in the command, it will
leave the device structure not initialized, which makes
pflash_cfi01_realize try to realize a zero-volume card, causing

/mnt/EXT_volume/projects/qemu/qemu-dev/exec.c:1378:
find_ram_offset: Assertion `size != 0\' failed.

Through my test, at least the flash device's block-number, sector-length
and its name is needed for pflash_cfi01_realize to behave correctly. So
I think the new asserts are needed to hint the QEMU user to specify
the device's parameters correctly.

Signed-off-by: Ziyue Yang <skiver.cloud.yzy@gmail.com>
Message-Id: <1481810693-13733-1-git-send-email-skiver.cloud.yzy@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Ziyue Yang <yzylivezh@hotmail.com>
2016-12-22 16:00:26 +01:00
..
dataplane virtio: set ISR on dataplane notifications 2016-11-18 17:29:25 +02:00
Makefile.objs block: Always compile virtio-blk dataplane 2014-09-22 11:39:51 +01:00
block.c block/qdev: Allow configuring rerror/werror with qdev properties 2016-07-13 13:32:27 +02:00
cdrom.c block: Clean up includes 2016-01-20 13:36:23 +01:00
ecc.c block: Clean up includes 2016-01-20 13:36:23 +01:00
fdc.c fdc: Move qdev properties to FloppyDrive 2016-10-27 16:29:13 -04:00
hd-geometry.c qemu-common: stop including qemu/bswap.h from qemu-common.h 2016-05-19 16:42:28 +02:00
m25p80.c block: m25p80: Fix vmstate structure name 2016-09-06 19:52:18 +01:00
nand.c nand: Switch to byte-based block access 2016-05-12 15:22:09 +02:00
nvme.c hw/block/nvme: Simplify if-statements a little bit 2016-10-28 18:17:23 +03:00
nvme.h util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
onenand.c onenand: Switch to byte-based block access 2016-05-12 15:22:09 +02:00
pflash_cfi01.c hw/block/pflash_cfi*.c: fix confusing assert fail message 2016-12-22 16:00:26 +01:00
pflash_cfi02.c hw/block/pflash_cfi*.c: fix confusing assert fail message 2016-12-22 16:00:26 +01:00
tc58128.c block: Use DIV_ROUND_UP 2016-06-07 18:19:24 +03:00
trace-events trace-events: fix first line comment in trace-events 2016-08-12 10:36:01 +01:00
virtio-blk.c virtio-blk: always use dataplane path if ioeventfd is active 2016-10-30 19:51:32 +02:00
xen_blkif.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
xen_disk.c xen_disk: split discard input to match internal representation 2016-11-23 10:47:48 -08:00