qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [v2 PATCH 00/13] SMBIOS: build full tables in QEMU


From: Gabriel L. Somlo
Subject: Re: [Qemu-devel] [v2 PATCH 00/13] SMBIOS: build full tables in QEMU
Date: Tue, 11 Mar 2014 12:58:20 -0400
User-agent: Mutt/1.5.21 (2010-09-15)

On Tue, Mar 11, 2014 at 11:46:17AM -0400, Kevin O'Connor wrote:
> I would suggest being "bug for bug" compatible in the first set of
> patches, and then add patches on top to add the additional
> functionality.  Just my 2 cents.

With the patch enclosed at the end of this email, I can get it
down to this:

-Handle 0x0401, DMI type 4, 32 bytes
+Handle 0x0401, DMI type 4, 35 bytes
 Processor Information
        Socket Designation: CPU 1
        Type: Central Processor
        Family: Other
        Manufacturer: Bochs
        ID: FB 06 00 00 FF FB 8B 0F
        Version: Not Specified
        Voltage: Unknown
        External Clock: Unknown
        Max Speed: 2000 MHz
        Current Speed: 2000 MHz
        Status: Populated, Enabled
        Upgrade: Other
        L1 Cache Handle: Not Provided
        L2 Cache Handle: Not Provided
        L3 Cache Handle: Not Provided
+       Serial Number: Not Specified
+       Asset Tag: Not Specified
+       Part Number: Not Specified

and

-Handle 0x1100, DMI type 17, 21 bytes
+Handle 0x1100, DMI type 17, 27 bytes
 Memory Device
        Array Handle: 0x1000
-       Error Information Handle: 0x0000
+       Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 16384 MB
        Form Factor: DIMM
        Set: None
        Locator: DIMM 0
        Bank Locator: Not Specified
        Type: RAM
        Type Detail: None
+       Speed: Unknown
+       Manufacturer: QEMU
+       Serial Number: Not Specified
+       Asset Tag: Not Specified
+       Part Number: Not Specified


which is basically a predictable value for type 17 error info handle,
and v2.3 fields for types 4 and 17. When fixing the error info handle
in SeaBIOS, do you plan on using anything other than "Not Provided" ?

Re. v2.3 fields, in Seabios src/fw/smbios.c, lines 44 and 45, the
smbios major/minor version is set to 2.4, so I think having all types
be compliant with v2.4 is also important. That basically means bringing
4 and 17 in compliance with v2.3 :)

The QEMU smbios_set_defaults patch I used is below. I can add it as
#14 in the series, once we all get past the review for the other
items.

Thanks again,
--Gabriel


diff --git a/hw/i386/smbios.c b/hw/i386/smbios.c
index 64f570f..1112c11 100644
--- a/hw/i386/smbios.c
+++ b/hw/i386/smbios.c
@@ -615,6 +615,7 @@ void smbios_set_defaults(const char *manufacturer,
                          ram_addr_t below_4g_mem_size,
                          ram_addr_t above_4g_mem_size)
 {
+    const char *compat = "Bochs";
     smbios_have_defaults = true;
 
     assert(ram_size == below_4g_mem_size + above_4g_mem_size);
@@ -630,11 +631,11 @@ void smbios_set_defaults(const char *manufacturer,
     SMBIOS_SET_DEFAULT(type2.manufacturer, manufacturer);
     SMBIOS_SET_DEFAULT(type2.product, product);
     SMBIOS_SET_DEFAULT(type2.version, version);
-    SMBIOS_SET_DEFAULT(type3.manufacturer, manufacturer);
-    SMBIOS_SET_DEFAULT(type3.version, version);
+    SMBIOS_SET_DEFAULT(type3.manufacturer, compat);
+    /* SMBIOS_SET_DEFAULT(type3.version, version); */
     SMBIOS_SET_DEFAULT(type4.sock_pfx, "CPU");
-    SMBIOS_SET_DEFAULT(type4.manufacturer, manufacturer);
-    SMBIOS_SET_DEFAULT(type4.version, version);
+    SMBIOS_SET_DEFAULT(type4.manufacturer, compat);
+    /* SMBIOS_SET_DEFAULT(type4.version, version); */
     SMBIOS_SET_DEFAULT(type17.loc_pfx, "DIMM");
     SMBIOS_SET_DEFAULT(type17.manufacturer, manufacturer);
 }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]