diff options
author | Gabriel L. Somlo <gsomlo@gmail.com> | 2015-03-11 13:58:01 -0400 |
---|---|---|
committer | Michael Tokarev <mjt@tls.msk.ru> | 2015-03-19 11:18:51 +0300 |
commit | 3ebd6cc8d30374da8b72909960f4426e82e5f6ef (patch) | |
tree | 73586fd117b808c9854b9d7930cd5516829d54e8 /hw/i386 | |
parent | bdd09778a0649639130aff21a361732a715a0a4f (diff) |
smbios: add max speed comdline option for type-17 (meory device) structure
Signed-off-by: Gabriel Somlo <somlo@cmu.edu>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Diffstat (limited to 'hw/i386')
-rw-r--r-- | hw/i386/smbios.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/hw/i386/smbios.c b/hw/i386/smbios.c index f2e9ab62ce..1341e02344 100644 --- a/hw/i386/smbios.c +++ b/hw/i386/smbios.c @@ -91,6 +91,7 @@ static struct { static struct { const char *loc_pfx, *bank, *manufacturer, *serial, *asset, *part; + uint16_t speed; } type17; static QemuOptsList qemu_smbios_opts = { @@ -304,6 +305,10 @@ static const QemuOptDesc qemu_smbios_type17_opts[] = { .name = "part", .type = QEMU_OPT_STRING, .help = "part number", + },{ + .name = "speed", + .type = QEMU_OPT_NUMBER, + .help = "maximum capable speed", }, { /* end of list */ } }; @@ -697,13 +702,13 @@ static void smbios_build_type_17_table(unsigned instance, uint64_t size) SMBIOS_TABLE_SET_STR(17, bank_locator_str, type17.bank); t->memory_type = 0x07; /* RAM */ t->type_detail = cpu_to_le16(0x02); /* Other */ - t->speed = cpu_to_le16(0); /* Unknown */ + t->speed = cpu_to_le16(type17.speed); SMBIOS_TABLE_SET_STR(17, manufacturer_str, type17.manufacturer); SMBIOS_TABLE_SET_STR(17, serial_number_str, type17.serial); SMBIOS_TABLE_SET_STR(17, asset_tag_number_str, type17.asset); SMBIOS_TABLE_SET_STR(17, part_number_str, type17.part); t->attributes = 0; /* Unknown */ - t->configured_clock_speed = cpu_to_le16(0); /* Unknown */ + t->configured_clock_speed = t->speed; /* reuse value for max speed */ t->minimum_voltage = cpu_to_le16(0); /* Unknown */ t->maximum_voltage = cpu_to_le16(0); /* Unknown */ t->configured_voltage = cpu_to_le16(0); /* Unknown */ @@ -1083,6 +1088,7 @@ void smbios_entry_add(QemuOpts *opts) save_opt(&type17.serial, opts, "serial"); save_opt(&type17.asset, opts, "asset"); save_opt(&type17.part, opts, "part"); + type17.speed = qemu_opt_get_number(opts, "speed", 0); return; default: error_report("Don't know how to build fields for SMBIOS type %ld", |