From 0d73394ad93aa12755316b3a90b3193aeeb95f90 Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Mon, 19 May 2014 10:09:55 -0400 Subject: [PATCH] SMBIOS: Fix type 17 field sizes Fields for configured_clock_speed and various voltage values introduced in spec v2.7+ should be "word", i.e. 16 bits. Reported-by: Laszlo Ersek Signed-off-by: Gabriel Somlo Reviewed-by: Laszlo Ersek Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/smbios.c | 8 ++++---- include/hw/i386/smbios.h | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/hw/i386/smbios.c b/hw/i386/smbios.c index 17938215f6c5..b3bedde8b96b 100644 --- a/hw/i386/smbios.c +++ b/hw/i386/smbios.c @@ -683,10 +683,10 @@ static void smbios_build_type_17_table(unsigned instance, ram_addr_t size) 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_le32(0); /* Unknown */ - t->minimum_voltage = cpu_to_le32(0); /* Unknown */ - t->maximum_voltage = cpu_to_le32(0); /* Unknown */ - t->configured_voltage = cpu_to_le32(0); /* Unknown */ + t->configured_clock_speed = cpu_to_le16(0); /* Unknown */ + t->minimum_voltage = cpu_to_le16(0); /* Unknown */ + t->maximum_voltage = cpu_to_le16(0); /* Unknown */ + t->configured_voltage = cpu_to_le16(0); /* Unknown */ SMBIOS_BUILD_TABLE_POST; } diff --git a/include/hw/i386/smbios.h b/include/hw/i386/smbios.h index 5583f60405f1..a3f4d88bf011 100644 --- a/include/hw/i386/smbios.h +++ b/include/hw/i386/smbios.h @@ -182,10 +182,10 @@ struct smbios_type_17 { uint8_t part_number_str; uint8_t attributes; uint32_t extended_size; - uint32_t configured_clock_speed; - uint32_t minimum_voltage; - uint32_t maximum_voltage; - uint32_t configured_voltage; + uint16_t configured_clock_speed; + uint16_t minimum_voltage; + uint16_t maximum_voltage; + uint16_t configured_voltage; } QEMU_PACKED; /* SMBIOS type 19 - Memory Array Mapped Address (v2.7) */