>> -    if ( c->x86_vendor == X86_VENDOR_INTEL && c->x86 == 6 &&
>> -         c->x86_model >= 0xe )
>> -        return true;
>> -    return false;
>> +    return c->vendor == X86_VENDOR_INTEL && c->vfm >= INTEL_CORE_YONAH;
>>  }
>
>This breaks P4.
>
>It is not safe to write expressions like this, and I've already
>explained why.

Last time you said it's not safe to drop the `vendor == X86_VENDOR_INTEL`
part because `vmf >= ...` by itself will pull in other vendors. Sorry, I should
have realised the same logic applies to the family field too.
This "breaks P4" because Pentium 4 NetBurst is family 15 and will now match
this new `vfm >= ...` expression when it didn't before.

I'll take Jan's suggestion below to match `vendor == Intel` and `family != 15`.

Reply via email to