All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] smbios: Fixes for SVVP tests
@ 2015-01-07 17:36 Eduardo Habkost
  2015-01-07 17:36 ` [Qemu-devel] [PATCH 1/2] smbios: Fix dimm size calculation when RAM is multiple of 16GB Eduardo Habkost
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Eduardo Habkost @ 2015-01-07 17:36 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Gabriel L. Somlo, Gerd Hoffmann

Some changed introduced by the new QEMU smbios table generation code broke
SVVP. This series fixes those issues.

Eduardo Habkost (2):
  smbios: Fix dimm size calculation when RAM is multiple of 16GB
  smbios: Don't report unknown CPU speed (fix SVVP regression)

 hw/i386/smbios.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

-- 
1.9.3

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH 1/2] smbios: Fix dimm size calculation when RAM is multiple of 16GB
  2015-01-07 17:36 [Qemu-devel] [PATCH 0/2] smbios: Fixes for SVVP tests Eduardo Habkost
@ 2015-01-07 17:36 ` Eduardo Habkost
  2015-01-07 17:45   ` Paolo Bonzini
  2015-01-07 17:36 ` [Qemu-devel] [PATCH 2/2] smbios: Don't report unknown CPU speed (fix SVVP regression) Eduardo Habkost
  2015-01-26 18:08 ` [Qemu-devel] [PATCH 0/2] smbios: Fixes for SVVP tests Eduardo Habkost
  2 siblings, 1 reply; 7+ messages in thread
From: Eduardo Habkost @ 2015-01-07 17:36 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Gabriel L. Somlo, Gerd Hoffmann

The Memory Device size calculation logic is broken when the RAM size is
a multiple of 16GB, making the size of the last entry be 0 instead of
16GB. Fix the logic to handle that case correctly.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 hw/i386/smbios.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/i386/smbios.c b/hw/i386/smbios.c
index 024e594..ae7032a 100644
--- a/hw/i386/smbios.c
+++ b/hw/i386/smbios.c
@@ -850,7 +850,8 @@ void smbios_get_tables(uint8_t **tables, size_t *tables_len,
         }
 
 #define MAX_DIMM_SZ (16ll * ONE_GB)
-#define GET_DIMM_SZ ((i < dimm_cnt - 1) ? MAX_DIMM_SZ : ram_size % MAX_DIMM_SZ)
+#define GET_DIMM_SZ ((i < dimm_cnt - 1) ? MAX_DIMM_SZ \
+                                        : ((ram_size - 1) % MAX_DIMM_SZ) + 1)
 
         dimm_cnt = QEMU_ALIGN_UP(ram_size, MAX_DIMM_SZ) / MAX_DIMM_SZ;
 
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH 2/2] smbios: Don't report unknown CPU speed (fix SVVP regression)
  2015-01-07 17:36 [Qemu-devel] [PATCH 0/2] smbios: Fixes for SVVP tests Eduardo Habkost
  2015-01-07 17:36 ` [Qemu-devel] [PATCH 1/2] smbios: Fix dimm size calculation when RAM is multiple of 16GB Eduardo Habkost
@ 2015-01-07 17:36 ` Eduardo Habkost
  2015-01-07 17:46   ` Paolo Bonzini
  2015-01-26 18:08 ` [Qemu-devel] [PATCH 0/2] smbios: Fixes for SVVP tests Eduardo Habkost
  2 siblings, 1 reply; 7+ messages in thread
From: Eduardo Habkost @ 2015-01-07 17:36 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Gabriel L. Somlo, Gerd Hoffmann

SVVP requires processor speed on Type 4 structures to not be unknown.
This was fixed in SeaBIOS 0.5.0 (in 2009), but the bug was reintroduced
in QEMU 2.1.

Revert to old behavior and report CPU speed as 2000 MHz instead of
unknown.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 hw/i386/smbios.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/i386/smbios.c b/hw/i386/smbios.c
index ae7032a..12d2137 100644
--- a/hw/i386/smbios.c
+++ b/hw/i386/smbios.c
@@ -618,8 +618,9 @@ static void smbios_build_type_4_table(unsigned instance)
     SMBIOS_TABLE_SET_STR(4, processor_version_str, type4.version);
     t->voltage = 0;
     t->external_clock = cpu_to_le16(0); /* Unknown */
-    t->max_speed = cpu_to_le16(0); /* Unknown */
-    t->current_speed = cpu_to_le16(0); /* Unknown */
+    /* SVVP requires max_speed and current_speed to not be unknown. */
+    t->max_speed = cpu_to_le16(2000); /* 2000 MHz */
+    t->current_speed = cpu_to_le16(2000); /* 2000 MHz */
     t->status = 0x41; /* Socket populated, CPU enabled */
     t->processor_upgrade = 0x01; /* Other */
     t->l1_cache_handle = cpu_to_le16(0xFFFF); /* N/A */
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] smbios: Fix dimm size calculation when RAM is multiple of 16GB
  2015-01-07 17:36 ` [Qemu-devel] [PATCH 1/2] smbios: Fix dimm size calculation when RAM is multiple of 16GB Eduardo Habkost
@ 2015-01-07 17:45   ` Paolo Bonzini
  0 siblings, 0 replies; 7+ messages in thread
From: Paolo Bonzini @ 2015-01-07 17:45 UTC (permalink / raw)
  To: Eduardo Habkost, qemu-devel; +Cc: Gabriel L. Somlo, Gerd Hoffmann



On 07/01/2015 18:36, Eduardo Habkost wrote:
> The Memory Device size calculation logic is broken when the RAM size is
> a multiple of 16GB, making the size of the last entry be 0 instead of
> 16GB. Fix the logic to handle that case correctly.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>  hw/i386/smbios.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/i386/smbios.c b/hw/i386/smbios.c
> index 024e594..ae7032a 100644
> --- a/hw/i386/smbios.c
> +++ b/hw/i386/smbios.c
> @@ -850,7 +850,8 @@ void smbios_get_tables(uint8_t **tables, size_t *tables_len,
>          }
>  
>  #define MAX_DIMM_SZ (16ll * ONE_GB)
> -#define GET_DIMM_SZ ((i < dimm_cnt - 1) ? MAX_DIMM_SZ : ram_size % MAX_DIMM_SZ)
> +#define GET_DIMM_SZ ((i < dimm_cnt - 1) ? MAX_DIMM_SZ \
> +                                        : ((ram_size - 1) % MAX_DIMM_SZ) + 1)
>  
>          dimm_cnt = QEMU_ALIGN_UP(ram_size, MAX_DIMM_SZ) / MAX_DIMM_SZ;

Using "dimm_size = MAX(ram_size, MAX_DIMM_SZ); ram_size -= dimm_size"
would have been less weird, but the whole code here is interesting so
your patch is just keeping with the style.  We all do that. :)

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] smbios: Don't report unknown CPU speed (fix SVVP regression)
  2015-01-07 17:36 ` [Qemu-devel] [PATCH 2/2] smbios: Don't report unknown CPU speed (fix SVVP regression) Eduardo Habkost
@ 2015-01-07 17:46   ` Paolo Bonzini
  0 siblings, 0 replies; 7+ messages in thread
From: Paolo Bonzini @ 2015-01-07 17:46 UTC (permalink / raw)
  To: Eduardo Habkost, qemu-devel; +Cc: Gabriel L. Somlo, Gerd Hoffmann



On 07/01/2015 18:36, Eduardo Habkost wrote:
> SVVP requires processor speed on Type 4 structures to not be unknown.
> This was fixed in SeaBIOS 0.5.0 (in 2009), but the bug was reintroduced
> in QEMU 2.1.
> 
> Revert to old behavior and report CPU speed as 2000 MHz instead of
> unknown.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>  hw/i386/smbios.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/i386/smbios.c b/hw/i386/smbios.c
> index ae7032a..12d2137 100644
> --- a/hw/i386/smbios.c
> +++ b/hw/i386/smbios.c
> @@ -618,8 +618,9 @@ static void smbios_build_type_4_table(unsigned instance)
>      SMBIOS_TABLE_SET_STR(4, processor_version_str, type4.version);
>      t->voltage = 0;
>      t->external_clock = cpu_to_le16(0); /* Unknown */
> -    t->max_speed = cpu_to_le16(0); /* Unknown */
> -    t->current_speed = cpu_to_le16(0); /* Unknown */
> +    /* SVVP requires max_speed and current_speed to not be unknown. */
> +    t->max_speed = cpu_to_le16(2000); /* 2000 MHz */
> +    t->current_speed = cpu_to_le16(2000); /* 2000 MHz */
>      t->status = 0x41; /* Socket populated, CPU enabled */
>      t->processor_upgrade = 0x01; /* Other */
>      t->l1_cache_handle = cpu_to_le16(0xFFFF); /* N/A */
> 

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH 0/2] smbios: Fixes for SVVP tests
  2015-01-07 17:36 [Qemu-devel] [PATCH 0/2] smbios: Fixes for SVVP tests Eduardo Habkost
  2015-01-07 17:36 ` [Qemu-devel] [PATCH 1/2] smbios: Fix dimm size calculation when RAM is multiple of 16GB Eduardo Habkost
  2015-01-07 17:36 ` [Qemu-devel] [PATCH 2/2] smbios: Don't report unknown CPU speed (fix SVVP regression) Eduardo Habkost
@ 2015-01-26 18:08 ` Eduardo Habkost
  2015-01-26 18:12   ` Michael S. Tsirkin
  2 siblings, 1 reply; 7+ messages in thread
From: Eduardo Habkost @ 2015-01-26 18:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Gabriel L. Somlo, Gerd Hoffmann, Michael S. Tsirkin

On Wed, Jan 07, 2015 at 03:36:32PM -0200, Eduardo Habkost wrote:
> Some changed introduced by the new QEMU smbios table generation code broke
> SVVP. This series fixes those issues.

Ping? Through which tree can this go in?

> 
> Eduardo Habkost (2):
>   smbios: Fix dimm size calculation when RAM is multiple of 16GB
>   smbios: Don't report unknown CPU speed (fix SVVP regression)
> 
>  hw/i386/smbios.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)

-- 
Eduardo

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH 0/2] smbios: Fixes for SVVP tests
  2015-01-26 18:08 ` [Qemu-devel] [PATCH 0/2] smbios: Fixes for SVVP tests Eduardo Habkost
@ 2015-01-26 18:12   ` Michael S. Tsirkin
  0 siblings, 0 replies; 7+ messages in thread
From: Michael S. Tsirkin @ 2015-01-26 18:12 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: Paolo Bonzini, Gabriel L. Somlo, qemu-devel, Gerd Hoffmann

On Mon, Jan 26, 2015 at 04:08:22PM -0200, Eduardo Habkost wrote:
> On Wed, Jan 07, 2015 at 03:36:32PM -0200, Eduardo Habkost wrote:
> > Some changed introduced by the new QEMU smbios table generation code broke
> > SVVP. This series fixes those issues.
> 
> Ping? Through which tree can this go in?

I can merge them I guess - will review shortly.
Pls Cc me in the future if you want my attention.

> > 
> > Eduardo Habkost (2):
> >   smbios: Fix dimm size calculation when RAM is multiple of 16GB
> >   smbios: Don't report unknown CPU speed (fix SVVP regression)
> > 
> >  hw/i386/smbios.c | 8 +++++---
> >  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> -- 
> Eduardo

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-01-26 18:12 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-07 17:36 [Qemu-devel] [PATCH 0/2] smbios: Fixes for SVVP tests Eduardo Habkost
2015-01-07 17:36 ` [Qemu-devel] [PATCH 1/2] smbios: Fix dimm size calculation when RAM is multiple of 16GB Eduardo Habkost
2015-01-07 17:45   ` Paolo Bonzini
2015-01-07 17:36 ` [Qemu-devel] [PATCH 2/2] smbios: Don't report unknown CPU speed (fix SVVP regression) Eduardo Habkost
2015-01-07 17:46   ` Paolo Bonzini
2015-01-26 18:08 ` [Qemu-devel] [PATCH 0/2] smbios: Fixes for SVVP tests Eduardo Habkost
2015-01-26 18:12   ` Michael S. Tsirkin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.