Better error messages, a bit of code cleanup, and a big endian fix. Not addressed: qemu_uuid_parse() sets an SMBIOS field by side effect. Gross!
Testing: * Verify error messages improve for -smbios gaga -smbios file=gaga -smbios type=42 -smbios type=1,uuid=gaga -smbios type=0,release=gaga * Verify SMBIOS table remains unchanged -smbios type=0,vendor=me,version=42,date=today,release=1.2 -smbios type=1,manufacturer=me,product=crap,version=6,serial=77,uuid=988bc9dd-0986-440f-ac24-cf9626c5aa88,sku=888,family=flintstones by sticking qemu_hexdump(smbios_entries, stdout, "SMBIOS", smbios_entries_len); into smbios_get_table() v2: Address "Hawkeye" Laszlo's review * 1-3/7 unchanged * Drop 4/7 because it's buggy, and the fixed version isn't worthwhile * Spelling fix in commit message of 5/7 * Correct scanf format in 5-6/7 Markus Armbruster (6): error-report.h: Supply missing include log.h: Supply missing includes smbios: Convert to error_report() smbios: Clean up smbios_add_field() parameters smbios: Fix -smbios type=0,release=... for big endian hosts smbios: Check R in -smbios type=0,release=R parses okay arch_init.c | 3 +-- hw/i386/smbios.c | 57 ++++++++++++++++++++++++--------------------- include/hw/i386/smbios.h | 2 +- include/qemu/error-report.h | 1 + include/qemu/log.h | 3 +++ 5 files changed, 37 insertions(+), 29 deletions(-) -- 1.7.11.7