[PATCH 1/2] smbios: enable setting processor family > 0xff

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Fri Dec 29 12:18:36 CET 2023


On 12/28/23 14:37, Simon Glass wrote:
> Hi Heinrich,
> 
> On Thu, Dec 28, 2023 at 7:30 AM Heinrich Schuchardt
> <heinrich.schuchardt at canonical.com> wrote:
>>
>> Many value of processor type exceed 0xff and have to be stored as u16
>> value. In the type 4 table set processor_family = 0xfe signaling that
>> field processor_family2 is used and write the actual value into the
>> processor_family2 field.
>>
>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
>> ---
>>   lib/smbios.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
> 
> Reviewed-by: Simon Glass <sjg at chromium.org>
> 
>> diff --git a/lib/smbios.c b/lib/smbios.c
>> index 45480b01af..550b2471f9 100644
>> --- a/lib/smbios.c
>> +++ b/lib/smbios.c
>> @@ -467,7 +467,8 @@ static void smbios_write_type4_dm(struct smbios_type4 *t,
>>          }
>>   #endif
>>
>> -       t->processor_family = processor_family;
>> +       t->processor_family = 0xfe;
>> +       t->processor_family2 = processor_family;
> 
> Why not use 'family' if it fits?

Using family for values less then 0x100 is allowable.
But there would be no benefit in making our code more complicated.

Best regards

Heinrich

> 
>>          t->processor_manufacturer = smbios_add_prop(ctx, NULL, vendor);
>>          t->processor_version = smbios_add_prop(ctx, NULL, name);
>>   }
>> @@ -489,7 +490,6 @@ static int smbios_write_type4(ulong *current, int handle,
>>          t->l1_cache_handle = 0xffff;
>>          t->l2_cache_handle = 0xffff;
>>          t->l3_cache_handle = 0xffff;
>> -       t->processor_family2 = t->processor_family;
>>
>>          len = t->length + smbios_string_table_len(ctx);
>>          *current += len;
>> --
>> 2.43.0
>>
> 
> Regards,
> Simon



More information about the U-Boot mailing list