diff mbox

[v3,3/3] SMBIOS: Fix type 17 v2.7+ field sizes

Message ID 1400015769-717-4-git-send-email-somlo@cmu.edu
State New
Headers show

Commit Message

Gabriel L. Somlo May 13, 2014, 9:16 p.m. UTC
Fields for configured_clock_speed and various voltage values
introduced in v2.7 and v2.8 should be "word", i.e. 16 bits.

Reported-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Gabriel Somlo <somlo@cmu.edu>
---
 hw/i386/smbios.c         | 8 ++++----
 include/hw/i386/smbios.h | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

Comments

Michael S. Tsirkin May 19, 2014, 10:54 a.m. UTC | #1
On Tue, May 13, 2014 at 05:16:09PM -0400, Gabriel L. Somlo wrote:
> Fields for configured_clock_speed and various voltage values
> introduced in v2.7 and v2.8 should be "word", i.e. 16 bits.
> 
> Reported-by: Laszlo Ersek <lersek@redhat.com>
> Signed-off-by: Gabriel Somlo <somlo@cmu.edu>

0 is 0 whatever you do with it.
But you wrote it, so if you prefer
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>


> ---
>  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 1793821..b3bedde 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 5583f60..a3f4d88 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) */
> -- 
> 1.9.0
>
diff mbox

Patch

diff --git a/hw/i386/smbios.c b/hw/i386/smbios.c
index 1793821..b3bedde 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 5583f60..a3f4d88 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) */