Message ID | 1426096681-13442-1-git-send-email-somlo@cmu.edu (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 11/03/2015 18:58, Gabriel L. Somlo wrote: > Signed-off-by: Gabriel Somlo <somlo@cmu.edu> > --- > hw/i386/smbios.c | 10 ++++++++-- > qemu-options.hx | 4 ++-- > 2 files changed, 10 insertions(+), 4 deletions(-) > > diff --git a/hw/i386/smbios.c b/hw/i386/smbios.c > index f2e9ab6..1341e02 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", > diff --git a/qemu-options.hx b/qemu-options.hx > index 837624d..c4f7946 100644 > --- a/qemu-options.hx > +++ b/qemu-options.hx > @@ -1392,7 +1392,7 @@ DEF("smbios", HAS_ARG, QEMU_OPTION_smbios, > " [,asset=str][,part=str]\n" > " specify SMBIOS type 4 fields\n" > "-smbios type=17[,loc_pfx=str][,bank=str][,manufacturer=str][,serial=str]\n" > - " [,asset=str][,part=str]\n" > + " [,asset=str][,part=str][,speed=%d]\n" > " specify SMBIOS type 17 fields\n", > QEMU_ARCH_I386) > STEXI > @@ -1415,7 +1415,7 @@ Specify SMBIOS type 3 fields > @item -smbios type=4[,sock_pfx=@var{str}][,manufacturer=@var{str}][,version=@var{str}][,serial=@var{str}][,asset=@var{str}][,part=@var{str}] > Specify SMBIOS type 4 fields > > -@item -smbios type=17[,loc_pfx=@var{str}][,bank=@var{str}][,manufacturer=@var{str}][,serial=@var{str}][,asset=@var{str}][,part=@var{str}] > +@item -smbios type=17[,loc_pfx=@var{str}][,bank=@var{str}][,manufacturer=@var{str}][,serial=@var{str}][,asset=@var{str}][,part=@var{str}][,speed=@var{%d}] > Specify SMBIOS type 17 fields > ETEXI > > Acked-by: Paolo Bonzini <pbonzini@redhat.com> -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/hw/i386/smbios.c b/hw/i386/smbios.c index f2e9ab6..1341e02 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", diff --git a/qemu-options.hx b/qemu-options.hx index 837624d..c4f7946 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -1392,7 +1392,7 @@ DEF("smbios", HAS_ARG, QEMU_OPTION_smbios, " [,asset=str][,part=str]\n" " specify SMBIOS type 4 fields\n" "-smbios type=17[,loc_pfx=str][,bank=str][,manufacturer=str][,serial=str]\n" - " [,asset=str][,part=str]\n" + " [,asset=str][,part=str][,speed=%d]\n" " specify SMBIOS type 17 fields\n", QEMU_ARCH_I386) STEXI @@ -1415,7 +1415,7 @@ Specify SMBIOS type 3 fields @item -smbios type=4[,sock_pfx=@var{str}][,manufacturer=@var{str}][,version=@var{str}][,serial=@var{str}][,asset=@var{str}][,part=@var{str}] Specify SMBIOS type 4 fields -@item -smbios type=17[,loc_pfx=@var{str}][,bank=@var{str}][,manufacturer=@var{str}][,serial=@var{str}][,asset=@var{str}][,part=@var{str}] +@item -smbios type=17[,loc_pfx=@var{str}][,bank=@var{str}][,manufacturer=@var{str}][,serial=@var{str}][,asset=@var{str}][,part=@var{str}][,speed=@var{%d}] Specify SMBIOS type 17 fields ETEXI
Signed-off-by: Gabriel Somlo <somlo@cmu.edu> --- hw/i386/smbios.c | 10 ++++++++-- qemu-options.hx | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-)