]> git.proxmox.com Git - qemu.git/commit
smbios: Improve diagnostics for conflicting entries
authorMarkus Armbruster <armbru@redhat.com>
Fri, 16 Aug 2013 13:18:30 +0000 (15:18 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Sat, 28 Sep 2013 20:49:39 +0000 (23:49 +0300)
commitec2df8c10a4585ba4641ae482cf2f5f13daa810e
tree267088957ca75a0d59ff9ae3fedfdf8224d44a43
parent4f953d2fc806f1ba6fa76f01dfd121fe7d0dc4a7
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>
hw/i386/smbios.c