On 10/03/2026 10:26 am, Jan Beulich wrote:
> On 04.03.2026 20:53, Kevin Lampis wrote:
>> struct cpuinfo_x86
>>   .x86        => .family
>>   .x86_vendor => .vendor
>>   .x86_model  => .model
>>   .x86_mask   => .stepping
>>
>> No functional change.
>>
>> This work is part of making Xen safe for Intel family 18/19.
>>
>> Signed-off-by: Kevin Lampis <[email protected]>
>> ---
>> I couldn't find any information about these Intel family 6 processors:
>>   model 0x5d: /* SoFIA 3G Granite/ES2.1 */
>>   model 0x65: /* SoFIA LTE AOSP */
>>   model 0x6e: /* Cougar Mountain */
>> Should I add them to intel-family.h?
> We should keep that in sync with Linux, I think, so "no" unless you mean to
> first have respective entries added there.
>
> 0x5d is listed in the SDM, so I'd recommend keeping the entries (using IFM()
> directly for the time being).
>
> 0x65 and 0x6e aren't listed in the SDM, so may never really have hit the
> public. Respective cases can perhaps be dropped, but such dropping would
> again likely better be done in a separate change.

These are the 5G basestations I mentioned during the x86 meeting.  Linux
has declined to take take these models into intel-family.h because
they're not general purpose.

I suggest we drop them, including 0x5d.  I can do a separate patch.

>
>> @@ -3073,71 +3077,71 @@ static bool __init has_if_pschange_mc(void)
>>       * IF_PSCHANGE_MC is only known to affect Intel Family 6 processors at
>>       * this time.
>>       */
>> -    if ( boot_cpu_data.x86_vendor != X86_VENDOR_INTEL ||
>> -         boot_cpu_data.x86 != 6 )
>> +    if ( boot_cpu_data.vendor != X86_VENDOR_INTEL ||
>> +         boot_cpu_data.family != 6 )
>>          return false;
>>  
>> -    switch ( boot_cpu_data.x86_model )
>> +    switch ( boot_cpu_data.vfm )
>>      {
>>          /*
>>           * Core processors since at least Nehalem are vulnerable.
>>           */
>> -    case 0x1f: /* Auburndale / Havendale */
>> -    case 0x1e: /* Nehalem */
>> -    case 0x1a: /* Nehalem EP */
>> -    case 0x2e: /* Nehalem EX */
>> -    case 0x25: /* Westmere */
>> -    case 0x2c: /* Westmere EP */
>> -    case 0x2f: /* Westmere EX */
>> -    case 0x2a: /* SandyBridge */
>> -    case 0x2d: /* SandyBridge EP/EX */
>> -    case 0x3a: /* IvyBridge */
>> -    case 0x3e: /* IvyBridge EP/EX */
>> -    case 0x3c: /* Haswell */
>> -    case 0x3f: /* Haswell EX/EP */
>> -    case 0x45: /* Haswell D */
>> -    case 0x46: /* Haswell H */
>> -    case 0x3d: /* Broadwell */
>> -    case 0x47: /* Broadwell H */
>> -    case 0x4f: /* Broadwell EP/EX */
>> -    case 0x56: /* Broadwell D */
>> -    case 0x4e: /* Skylake M */
>> -    case 0x5e: /* Skylake D */
>> -    case 0x55: /* Skylake-X / Cascade Lake */
>> -    case 0x7d: /* Ice Lake */
>> -    case 0x7e: /* Ice Lake */
>> -    case 0x8e: /* Kaby / Coffee / Whiskey Lake M */
>> -    case 0x9e: /* Kaby / Coffee / Whiskey Lake D */
>> -    case 0xa5: /* Comet Lake H/S */
>> -    case 0xa6: /* Comet Lake U */
>> +    case INTEL_NEHALEM_G:
>> +    case INTEL_NEHALEM:
>> +    case INTEL_NEHALEM_EP:
>> +    case INTEL_NEHALEM_EX:
>> +    case INTEL_WESTMERE:
>> +    case INTEL_WESTMERE_EP:
>> +    case INTEL_WESTMERE_EX:
>> +    case INTEL_SANDYBRIDGE:
>> +    case INTEL_SANDYBRIDGE_X:
>> +    case INTEL_IVYBRIDGE:
>> +    case INTEL_IVYBRIDGE_X:
>> +    case INTEL_HASWELL:
>> +    case INTEL_HASWELL_X:
>> +    case INTEL_HASWELL_L:
>> +    case INTEL_HASWELL_G:
>> +    case INTEL_BROADWELL:
>> +    case INTEL_BROADWELL_G:
>> +    case INTEL_BROADWELL_X:
>> +    case INTEL_BROADWELL_D:
>> +    case INTEL_SKYLAKE_L:
>> +    case INTEL_SKYLAKE:
>> +    case INTEL_SKYLAKE_X:
>> +    case INTEL_ICELAKE:
>> +    case INTEL_ICELAKE_L:
>> +    case INTEL_KABYLAKE_L:
>> +    case INTEL_KABYLAKE:
>> +    case INTEL_COMETLAKE:
>> +    case INTEL_COMETLAKE_L:
>>          return true;
>>  
>>          /*
>>           * Atom processors are not vulnerable.
>>           */
>> -    case 0x1c: /* Pineview */
>> -    case 0x26: /* Lincroft */
>> -    case 0x27: /* Penwell */
>> -    case 0x35: /* Cloverview */
>> -    case 0x36: /* Cedarview */
>> -    case 0x37: /* Baytrail / Valleyview (Silvermont) */
>> -    case 0x4d: /* Avaton / Rangely (Silvermont) */
>> -    case 0x4c: /* Cherrytrail / Brasswell */
>> -    case 0x4a: /* Merrifield */
>> -    case 0x5a: /* Moorefield */
>> -    case 0x5c: /* Goldmont */
>> -    case 0x5d: /* SoFIA 3G Granite/ES2.1 */
>> -    case 0x65: /* SoFIA LTE AOSP */
>> -    case 0x5f: /* Denverton */
>> -    case 0x6e: /* Cougar Mountain */
>> -    case 0x75: /* Lightning Mountain */
>> -    case 0x7a: /* Gemini Lake */
>> -    case 0x86: /* Jacobsville */
>> +    case INTEL_ATOM_BONNELL:
>> +    case INTEL_ATOM_BONNELL_MID:
>> +    case INTEL_ATOM_SALTWELL_MID:
>> +    case INTEL_ATOM_SALTWELL_TABLET:
>> +    case INTEL_ATOM_SALTWELL:
>> +    case INTEL_ATOM_SILVERMONT:
>> +    case INTEL_ATOM_SILVERMONT_D:
>> +    case INTEL_ATOM_AIRMONT:
>> +    case INTEL_ATOM_SILVERMONT_MID:
>> +    case INTEL_ATOM_SILVERMONT_MID2:
> Can the Silvermonts please be grouped together?
>
>> +    case INTEL_ATOM_GOLDMONT:
>> +    //case 0x5d: /* SoFIA 3G Granite/ES2.1 */ // XXX ???
>> +    //case 0x65: /* SoFIA LTE AOSP */         // XXX ???
>> +    case INTEL_ATOM_GOLDMONT_D:
>> +    //case 0x6e: /* Cougar Mountain */        // XXX ???
>> +    case INTEL_ATOM_AIRMONT_NP:
> Same for the Airmonts and ...
>
>> +    case INTEL_ATOM_GOLDMONT_PLUS:
> ... the Goldmonts.

We need another sync to intel-family.h.  Christian made a correction or
two in this area.  I'll do a patch.

~Andrew

Reply via email to