Hi Jerry,

On Mon, 22 May 2023 15:31:43 -0600, Jerry Hoemann wrote:
> On Mon, May 22, 2023 at 05:11:27PM +0200, Jean Delvare wrote:
> > @@ -4451,6 +4461,9 @@ static void dmi_decode(const struct dmi_
> >                             pr_attr("Thread Count", "%u",
> >                                     h->length >= 0x30 && data[0x25] == 0xFF 
> > ?
> >                                     WORD(data + 0x2E) : data[0x25]);
> > +                   if (h->length >= 0x32 && WORD(data + 0x30) != 0)
> > +                           pr_attr("Thread Enabled", "%u",
> > +                                   WORD(data + 0x30));
> >                     dmi_processor_characteristics("Characteristics",
> >                                                   WORD(data + 0x26));
> >                     break;  
> 
> 
> Do you know under which conditions FW might fill offset 0x30 with value:
> FFFFh = reserved ?

I don't think there is any legitimate use case at the moment (which is
why there is no special case for this value in my code).

As I understand it, this is a provision for a future extension of this
structure. In case, as some point in the future, field "Thread Enabled"
is no longer sufficient to accurately describe the hardware, a new
field will be added at the end of the structure (like "Thread Count 2"
was added by SMBIOS version 3.0 to supplement "Thread Count"). Then
value 0xFFFF will be used for "Thread Enabled" and the actual value
will be in the new field.

To be honest I'd be surprised to ever see a system with more than 65534
cores, so I think this reserved value will simply never be used, but...
who knows.

-- 
Jean Delvare
SUSE L3 Support

Reply via email to