qemu/hw
Markus Armbruster ec2df8c10a smbios: Improve diagnostics for conflicting entries
We allow either tables or fields for the same type.  Makes sense,
because SeaBIOS uses fields only when no tables are present.

We do this by searching the SMBIOS blob for a previously added table
or field.  Error messages look like this:

    qemu-system-x86_64: -smbios type=1,serial=42: SMBIOS type 1 table already defined, cannot add field

User needs to know that "table" is defined by -smbios file=..., and
"field" by -smbios type=...

Instead of searching the blob, record additions of interest, and check
that.  Simpler, and makes better error messages possible:

    qemu-system-x86_64: -smbios file=smbios_type_1.bin: Can't mix file= and type= for same type
    qemu-system-x86_64: -smbios type=1,serial=42,serial=99: This is the conflicting setting

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2013-09-28 23:49:39 +03:00
..
9pfs virtio-9p-device: Avoid freeing uninitialized memory 2013-08-01 11:18:24 -05:00
acpi piix4: disable io on reset 2013-09-15 11:49:50 +03:00
alpha pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
arm QOM CPUState refactorings / X86CPU 2013-09-03 12:33:32 -05:00
audio Merge remote-tracking branch 'mjt/trivial-patches' into staging 2013-09-03 12:31:44 -05:00
block dataplane: Fix startup race. 2013-09-06 15:25:09 +02:00
bt Preparation for usb-bt-dongle conditional build 2013-09-10 11:14:41 +02:00
char QOM device refactorings 2013-09-03 12:30:51 -05:00
core pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
cpu QOM CPUState refactorings / X86CPU 2013-09-03 12:33:32 -05:00
cris hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
display ARM queue: 2013-09-11 14:46:52 -05:00
dma qom: Pass available size to object_initialize() 2013-08-30 21:15:44 +02:00
gpio gpio/zaurus: QOM cast cleanup 2013-07-29 21:06:57 +02:00
i2c exynos4210_i2c: QOM cast cleanup 2013-07-29 21:07:02 +02:00
i386 smbios: Improve diagnostics for conflicting entries 2013-09-28 23:49:39 +03:00
ide qdev: Pass size to qbus_create_inplace() 2013-08-30 21:15:35 +02:00
input aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
intc QOM device refactorings 2013-09-03 12:30:51 -05:00
isa i82378: Cleanup implementation 2013-07-31 23:25:41 +02:00
lm32 hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
m68k hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
microblaze hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
mips mips_malta: support up to 2GiB RAM 2013-09-09 18:42:22 +02:00
misc qom: Pass available size to object_initialize() 2013-08-30 21:15:44 +02:00
moxie memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00
net virtio-net: fix up HMP NIC info string on reset 2013-09-22 09:30:22 +03:00
nvram fw_cfg: the I/O port variant expects little-endian 2013-08-07 12:48:15 -05:00
openrisc pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
pci pci: remove explicit check to 64K ioport size 2013-09-15 11:49:51 +03:00
pci-bridge i82801b11: Fix i82801b11 PCI host bridge config space 2013-08-12 12:07:12 +03:00
pci-host piix: use 64 bit window programmed by guest 2013-09-15 11:49:50 +03:00
ppc QOM CPUState refactorings / X86CPU 2013-09-03 12:33:32 -05:00
s390x Merge remote-tracking branch 'mjt/trivial-patches' into staging 2013-09-03 12:31:44 -05:00
scsi qdev: Pass size to qbus_create_inplace() 2013-08-30 21:15:35 +02:00
sd aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
sh4 hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
sparc hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
sparc64 pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
ssi xilinx_spi: QOM cast cleanup 2013-07-29 21:07:01 +02:00
timer misc: Fix some typos in names and comments 2013-09-01 18:59:24 +04:00
tpm aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
unicore32 hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
usb ehci: save device pointer in EHCIState 2013-09-10 11:14:42 +02:00
virtio pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
watchdog aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
xen devices: Associate devices to their logical category 2013-07-29 10:37:09 -05:00
xtensa pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
Makefile.objs virtio: simplify Makefile conditionals 2013-04-19 16:18:11 +02:00