Skip to content
  • Markus Armbruster's avatar
    smbios: Improve diagnostics for conflicting entries · ec2df8c1
    Markus Armbruster authored
    
    
    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: default avatarMarkus Armbruster <armbru@redhat.com>
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    ec2df8c1