From nobody Mon Apr 6 09:11:36 2026 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C8DFC1DFDA1 for ; Wed, 4 Mar 2026 18:10:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.16 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772647821; cv=none; b=ByRBx4eK/MAlxfNWAzSa4Fi3sOyTk0cFcqNV0PLDf3AypBgJOYn4+YTBzaYF1Zx/f+uth1a6Rq5MLdJ0q4W7H9AHmvbOSRGXftIwLnWyoY7HFZQo2AtnSXBn6xydVx5gbi+jOzoUnXbTGiYRSwR/sUjxlcUVulEZyvdo1ID+w7k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772647821; c=relaxed/simple; bh=exuc3onWODU2X8mH2YxfaCArA6WgnFzmGL5JATuLwGc=; h=Subject:To:Cc:From:Date:References:In-Reply-To:Message-Id; b=OS3ZceXzJ3/Roc+g8nur41qNS1y5m+q7fdNiGW1PmWxK8UUYlye2rY6JRVrsrSe7ORItjFP5wLRwyYoG4o0pfoCQQEPOi605JxKti8bbLn/b0Il2MDK8ukUifpYi3qFfV678lbwIzT61nuPiVHwmXt8GO5VgFXLjPdLiQtmHxrE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=pass smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=eTq6UDil; arc=none smtp.client-ip=192.198.163.16 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="eTq6UDil" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1772647819; x=1804183819; h=subject:to:cc:from:date:references:in-reply-to: message-id; bh=exuc3onWODU2X8mH2YxfaCArA6WgnFzmGL5JATuLwGc=; b=eTq6UDilQc0L2nhiXdJSD8pvansNf4OPwCdWbffjVxBKaJJSzwi2GbgO rWUMAdGLDfY4jfh0M4fAbS6igMxqRqAXz/3eilYBVOrXhXfe9NLZdcCb+ hBgxLrSktCV+EfRtbf07C/MV8H+L8q65LwJdMlcPhzpFLJPhtn9sL30un rGbNrkGg5okvRsF8w3CxAys20yZOAxDb6RCteDvXXgezK6S87GbXrfRrp 9gw/vSqEf7wasrm0czSDfskcoYRB09Kit+bMlTpLJls8SbohpZ8Ngdi8R bz6xu68kmv9Xt3cH6+I0FbAGF14eUlwt6C6XceWTfGyB/qDkqfIik13v+ w==; X-CSE-ConnectionGUID: l3G5tn7TTkuZrQqeHTN8vA== X-CSE-MsgGUID: UfRcr8oBRXiQw1Ed9MJX5Q== X-IronPort-AV: E=McAfee;i="6800,10657,11719"; a="61291094" X-IronPort-AV: E=Sophos;i="6.21,324,1763452800"; d="scan'208";a="61291094" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2026 10:10:19 -0800 X-CSE-ConnectionGUID: YHIXi7uXQpGaANgLQyUtvg== X-CSE-MsgGUID: 6rlgpTTgSdeGvOAZx4hRQw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,324,1763452800"; d="scan'208";a="215752580" Received: from davehans-spike.ostc.intel.com (HELO localhost.localdomain) ([10.165.164.11]) by fmviesa010.fm.intel.com with ESMTP; 04 Mar 2026 10:10:19 -0800 Subject: [PATCH v4 1/4] x86/microcode: Refactor platform ID enumeration into a helper To: linux-kernel@vger.kernel.org Cc: sohil.mehta@intel.com, zhao1.liu@intel.com, Dave Hansen , Borislav Petkov , "H. Peter Anvin" , Ingo Molnar , Jon Kohler , Pawan Gupta , "Peter Zijlstra (Intel)" , Thomas Gleixner , Tony Luck , x86@kernel.org From: Dave Hansen Date: Wed, 04 Mar 2026 10:10:18 -0800 References: <20260304181016.85EC87C7@davehans-spike.ostc.intel.com> In-Reply-To: <20260304181016.85EC87C7@davehans-spike.ostc.intel.com> Message-Id: <20260304181018.EB6404F8@davehans-spike.ostc.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Dave Hansen Today, the only code that cares about the platform ID is the microcode update code itself. To facilitate storing the platform ID in a more generic place and using it outside of the microcode update itself, put the enumeration into a helper function. Mirror intel_get_microcode_revision()'s naming and location. But, moving away from intel_collect_cpu_info() means that the model and family information in CPUID is not readily available. Just call CPUID again. Note that the microcode header is a mask of supported platform IDs. Only stick the ID part in the helper. Leave the 1<=3DPII, say <=3DPII. The PII is the real oddball here being the only CPU with Linux microcode updates but no platform ID. It's worth calling it out by name. This does subtly change the sig->pf for the PII though from 0x0 to 0x1. Make up for that by ignoring sig->pf when the microcode update platform mask is 0x0. Signed-off-by: Dave Hansen Reviewed-by: Sohil Mehta Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Cc: "H. Peter Anvin" Cc: Tony Luck Cc: Pawan Gupta Cc: "Peter Zijlstra (Intel)" Cc: x86@kernel.org Cc: Jon Kohler -- Changes from v3: * Handle the empty platform mask on the PII Reviewed-by: Pawan Gupta --- b/arch/x86/kernel/cpu/microcode/intel.c | 53 +++++++++++++++++++++++++--= ----- 1 file changed, 42 insertions(+), 11 deletions(-) diff -puN arch/x86/kernel/cpu/microcode/intel.c~refactor-get-processor-flag= s arch/x86/kernel/cpu/microcode/intel.c --- a/arch/x86/kernel/cpu/microcode/intel.c~refactor-get-processor-flags 20= 26-03-04 09:19:02.438748485 -0800 +++ b/arch/x86/kernel/cpu/microcode/intel.c 2026-03-04 09:19:02.441748599 -= 0800 @@ -120,19 +120,43 @@ static inline unsigned int exttable_size return et->count * EXT_SIGNATURE_SIZE + EXT_HEADER_SIZE; } =20 +/* + * Use CPUID to generate a "vfm" value. Useful + * before 'cpuinfo_x86' structures are populated. + */ +static u32 intel_cpuid_vfm(void) +{ + u32 eax =3D cpuid_eax(1); + u32 fam =3D x86_family(eax); + u32 model =3D x86_model(eax); + + return IFM(fam, model); +} + +static u32 intel_get_platform_id(void) +{ + unsigned int val[2]; + + /* + * This can be called early. Use CPUID directly instead of + * relying on cpuinfo_x86 which may not be fully initialized. + * The PII does not have MSR_IA32_PLATFORM_ID. Everything + * before _it_ has no microcode (for Linux at least). + */ + if (intel_cpuid_vfm() <=3D INTEL_PENTIUM_II_KLAMATH) + return 0; + + /* get processor flags from MSR 0x17 */ + native_rdmsr(MSR_IA32_PLATFORM_ID, val[0], val[1]); + + return (val[1] >> 18) & 7; +} + void intel_collect_cpu_info(struct cpu_signature *sig) { sig->sig =3D cpuid_eax(1); - sig->pf =3D 0; sig->rev =3D intel_get_microcode_revision(); - - if (IFM(x86_family(sig->sig), x86_model(sig->sig)) >=3D INTEL_PENTIUM_III= _DESCHUTES) { - unsigned int val[2]; - - /* get processor flags from MSR 0x17 */ - native_rdmsr(MSR_IA32_PLATFORM_ID, val[0], val[1]); - sig->pf =3D 1 << ((val[1] >> 18) & 7); - } + sig->pf =3D 1 << intel_get_platform_id(); } EXPORT_SYMBOL_GPL(intel_collect_cpu_info); =20 @@ -142,8 +166,15 @@ static inline bool cpu_signatures_match( if (s1->sig !=3D sig2) return false; =20 - /* Processor flags are either both 0 or they intersect. */ - return ((!s1->pf && !pf2) || (s1->pf & pf2)); + /* + * Consider an empty mask to match everything. This + * should only occur for one CPU model, the PII. + */ + if (!pf2) + return true; + + /* Is the CPU's platform ID in the signature mask? */ + return s1->pf & pf2; } =20 bool intel_find_matching_signature(void *mc, struct cpu_signature *sig) _ From nobody Mon Apr 6 09:11:36 2026 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 29A9F3A255D for ; Wed, 4 Mar 2026 18:10:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.16 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772647822; cv=none; b=AN5HLUMO1/pekZjwT5KF0UZxOmQyn2gsnrESyy0d2YIyjd+8wnmMBB6/Ie70x3CUNy4qvhKL7Ko7Xng2gAubDXpqL2wIONl3Lc+269Siia3C9uyx/mIyf4BbIFKyXhnsg10rwv1bDlVP2xHu5lVO778p9iO1Q0XQYZdH8TAv1VQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772647822; c=relaxed/simple; bh=MmTETMKUaJp+MeJ5YNbDKZaL7oSjQVJatBReOClA1vw=; h=Subject:To:Cc:From:Date:References:In-Reply-To:Message-Id; b=a4+AJgLkZAH4YHEg8kUd2Ir22mo1fCYKD6WVkkCLvfVbivmCc+UdPP9FkvwEI/5knKg6AWMwCUWKf0LLO7Mc4Fvh34T81kRsw33saoUxvFkuuUAlS1BuxDeSjWL3gmv9rcSXe3eErIrjbNMz260IcxGvo94rzzKOU+2RCEnIT8w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=pass smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=deS9A9sw; arc=none smtp.client-ip=192.198.163.16 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="deS9A9sw" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1772647821; x=1804183821; h=subject:to:cc:from:date:references:in-reply-to: message-id; bh=MmTETMKUaJp+MeJ5YNbDKZaL7oSjQVJatBReOClA1vw=; b=deS9A9swVa7WRqsJTQFACM+QWZ8lsDoSIXN/j18Y2ncfM4lae/p/6YCL gq4jG3CWVPX3h4qU8OFDFBVwlUkZHfuCGpAyaaprbb9POG27wx6aXw9P8 EsnxVwDthLPf1vdd6jwq+Xqo9nVogCEFZ4meIDtodOhgPqzYOM32fRcVv szjF3GOBPpC7tSrLsh+zPUYeJT918FlKGGfuvCDy/biOBG7akxohG+ieY tGIzJD8GdhILmX20soLiKfj8fQySKhfMLcrVUxBDxTSREyYH9gqycXrSC jrzEy1Fx0roEWitdNf2/UY91o/HL0PoDovHBs14WB51xYiv8FhnJlodaz Q==; X-CSE-ConnectionGUID: /wDQFQwRTwGQ6k83e3rKHQ== X-CSE-MsgGUID: RJOI8wm6S/eU+lZSxkUbHw== X-IronPort-AV: E=McAfee;i="6800,10657,11719"; a="61291103" X-IronPort-AV: E=Sophos;i="6.21,324,1763452800"; d="scan'208";a="61291103" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2026 10:10:21 -0800 X-CSE-ConnectionGUID: a4i7foiiRyWhcUUb//euUw== X-CSE-MsgGUID: mea9muL6QhunkvCIwfPjsg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,324,1763452800"; d="scan'208";a="215752588" Received: from davehans-spike.ostc.intel.com (HELO localhost.localdomain) ([10.165.164.11]) by fmviesa010.fm.intel.com with ESMTP; 04 Mar 2026 10:10:21 -0800 Subject: [PATCH v4 2/4] x86/cpu: Add platform ID to CPU info structure To: linux-kernel@vger.kernel.org Cc: sohil.mehta@intel.com, zhao1.liu@intel.com, Dave Hansen , Borislav Petkov , "H. Peter Anvin" , Ingo Molnar , Jon Kohler , Pawan Gupta , "Peter Zijlstra (Intel)" , Thomas Gleixner , Tony Luck , x86@kernel.org From: Dave Hansen Date: Wed, 04 Mar 2026 10:10:20 -0800 References: <20260304181016.85EC87C7@davehans-spike.ostc.intel.com> In-Reply-To: <20260304181016.85EC87C7@davehans-spike.ostc.intel.com> Message-Id: <20260304181020.8D518228@davehans-spike.ostc.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Dave Hansen The end goal here is to be able to do x86_match_cpu() and match on a specific platform ID. While it would be possible to stash this ID off somewhere or read it dynamically, that approaches would not be consistent with the other fields which can be matched. Read the platform ID and store it in cpuinfo_x86. There are lots of sites to set this new field. Place it near the place c->microcode is established since the platform ID is so closely intertwined with microcode updates. Note: This should not grow the size of 'struct cpuinfo_x86' in practice since the u8 fits next to another u8 in the structure. Signed-off-by: Dave Hansen Reviewed-by: Sohil Mehta Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Cc: "H. Peter Anvin" Cc: Tony Luck Cc: Pawan Gupta Cc: "Peter Zijlstra (Intel)" Cc: x86@kernel.org Cc: Jon Kohler -- Changes from v2: * rename x86_platform_id=3D>intel_platform_id and remove initialization from generic code * Add a amd_unused so it's clear the AMD folks have a free field to play with. Reviewed-by: Pawan Gupta --- b/arch/x86/include/asm/microcode.h | 2 ++ b/arch/x86/include/asm/processor.h | 5 +++++ b/arch/x86/kernel/cpu/intel.c | 1 + b/arch/x86/kernel/cpu/microcode/intel.c | 2 +- 4 files changed, 9 insertions(+), 1 deletion(-) diff -puN arch/x86/include/asm/microcode.h~cpu-x86_stepping arch/x86/includ= e/asm/microcode.h --- a/arch/x86/include/asm/microcode.h~cpu-x86_stepping 2026-02-24 15:37:21= .947261472 -0800 +++ b/arch/x86/include/asm/microcode.h 2026-02-24 15:37:21.955261858 -0800 @@ -61,6 +61,8 @@ static inline int intel_microcode_get_da return hdr->datasize ? : DEFAULT_UCODE_DATASIZE; } =20 +extern u32 intel_get_platform_id(void); + static inline u32 intel_get_microcode_revision(void) { u32 rev, dummy; diff -puN arch/x86/include/asm/processor.h~cpu-x86_stepping arch/x86/includ= e/asm/processor.h --- a/arch/x86/include/asm/processor.h~cpu-x86_stepping 2026-02-24 15:37:21= .949261568 -0800 +++ b/arch/x86/include/asm/processor.h 2026-02-24 15:37:21.955261858 -0800 @@ -140,6 +140,11 @@ struct cpuinfo_x86 { __u32 x86_vfm; }; __u8 x86_stepping; + union { + // MSR_IA32_PLATFORM_ID[52-50] + __u8 intel_platform_id; + __u8 amd_unused; + }; #ifdef CONFIG_X86_64 /* Number of 4K pages in DTLB/ITLB combined(in pages): */ int x86_tlbsize; diff -puN arch/x86/kernel/cpu/intel.c~cpu-x86_stepping arch/x86/kernel/cpu/= intel.c --- a/arch/x86/kernel/cpu/intel.c~cpu-x86_stepping 2026-02-24 15:37:21.9502= 61617 -0800 +++ b/arch/x86/kernel/cpu/intel.c 2026-02-24 15:37:21.955261858 -0800 @@ -205,6 +205,7 @@ static void early_init_intel(struct cpui =20 if (c->x86 >=3D 6 && !cpu_has(c, X86_FEATURE_IA64)) c->microcode =3D intel_get_microcode_revision(); + c->intel_platform_id =3D intel_get_platform_id(); =20 /* Now if any of them are set, check the blacklist and clear the lot */ if ((cpu_has(c, X86_FEATURE_SPEC_CTRL) || diff -puN arch/x86/kernel/cpu/microcode/intel.c~cpu-x86_stepping arch/x86/k= ernel/cpu/microcode/intel.c --- a/arch/x86/kernel/cpu/microcode/intel.c~cpu-x86_stepping 2026-02-24 15:= 37:21.952261713 -0800 +++ b/arch/x86/kernel/cpu/microcode/intel.c 2026-02-24 15:37:21.955261858 -= 0800 @@ -133,7 +133,7 @@ static u32 intel_cpuid_vfm(void) return IFM(fam, model); } =20 -static u32 intel_get_platform_id(void) +u32 intel_get_platform_id(void) { unsigned int val[2]; =20 _ From nobody Mon Apr 6 09:11:36 2026 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 228393D7D63 for ; Wed, 4 Mar 2026 18:10:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.16 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772647824; cv=none; b=fjZWi0fVpASeJNrCFEbSLjdSSZ087Dqbu/cvlOC/X7DvsHNeBxmTcINd8J6XInOtVMgSMti1jVJ5ieY4krcDKRwEMEdczGgaevc+Rc7ZFqbW2ONLeiUDMp4qu014+EJF+JHVku112pJNwBU3cgIPI84DTBspftz9KWyTkPGQ0WE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772647824; c=relaxed/simple; bh=DMvy0T8z1u6WQthJ6hqvZU/FNy6vEoEXqcgqbepEMK8=; h=Subject:To:Cc:From:Date:References:In-Reply-To:Message-Id; b=fVYx2rYT57ZQdqyV/TNi2R8i/In/gwYmyeM75eS++Ztxlgi+J44FjC79yUgIJ5HoTuZAIUjTKNN8oGuygFNByxhUqgvMcRLUcMVMCFF1YW0nQo6EG0e1oiFPjgVZWKwDppHdo+1DKEM3L4Yo626/Jmor5WGxGzUfzLUKdWWLXrQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=pass smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=U1EjHlTI; arc=none smtp.client-ip=192.198.163.16 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="U1EjHlTI" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1772647823; x=1804183823; h=subject:to:cc:from:date:references:in-reply-to: message-id; bh=DMvy0T8z1u6WQthJ6hqvZU/FNy6vEoEXqcgqbepEMK8=; b=U1EjHlTINUOZb+NgZfWafx26aspfXdlpgHvxoOhmufBpuWG48zX9GlhZ wePTgbKLr4TOiVV5EEYTIefc82cdtzzNzUnzKAxaXjTqB1IJfnnQO21zn 31YGi850/SHEewJVkUYy+4unUMfpZmAC3WOZ+Zpr3iejzWG2iOxhQL0WK wRM3bQ55+kLyLjue5R+6InuhR7H5E+NndhFYgcCqBsizye/yfaGuSOwLr bIXCswnVTN+YzR2+D7tuzNqI+vryXzJM6W/hSDyzE6syReJCKKt5pur4M ETwDSk72dzlrvHmWI9M1DfNgZBA/nhA8ccpjyn8TwLqly/JCMcLY4ltj6 A==; X-CSE-ConnectionGUID: 5VjEti13QcmQFk1goZtlQQ== X-CSE-MsgGUID: i9W/N0WFTyCdIMVV4YX1+Q== X-IronPort-AV: E=McAfee;i="6800,10657,11719"; a="61291111" X-IronPort-AV: E=Sophos;i="6.21,324,1763452800"; d="scan'208";a="61291111" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2026 10:10:22 -0800 X-CSE-ConnectionGUID: nqwRh+63RQ212xOjNrH8iw== X-CSE-MsgGUID: p8ClIbAsRxSM7kGZzD8lgQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,324,1763452800"; d="scan'208";a="215752594" Received: from davehans-spike.ostc.intel.com (HELO localhost.localdomain) ([10.165.164.11]) by fmviesa010.fm.intel.com with ESMTP; 04 Mar 2026 10:10:22 -0800 Subject: [PATCH v4 3/4] x86/cpu: Add platform ID to CPU matching structure To: linux-kernel@vger.kernel.org Cc: sohil.mehta@intel.com, zhao1.liu@intel.com, Dave Hansen , Borislav Petkov , "H. Peter Anvin" , Ingo Molnar , Jon Kohler , Pawan Gupta , "Peter Zijlstra (Intel)" , Thomas Gleixner , Tony Luck , x86@kernel.org From: Dave Hansen Date: Wed, 04 Mar 2026 10:10:22 -0800 References: <20260304181016.85EC87C7@davehans-spike.ostc.intel.com> In-Reply-To: <20260304181016.85EC87C7@davehans-spike.ostc.intel.com> Message-Id: <20260304181022.058DF07C@davehans-spike.ostc.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Dave Hansen The existing x86_match_cpu() infrastructure can be used to match a bunch of attributes of a CPU: vendor, family, model, steppings and CPU features. But, there's one more attribute that's missing and unable to be matched against: the platform ID, enumerated on Intel CPUs in MSR_IA32_PLATFORM_ID. It is a little more obscure and is only queried during microcode loading. This is because Intel sometimes has CPUs with identical family/model/stepping but which need different microcode. These CPUs are differentiated with the platform ID. Add a field in 'struct x86_cpu_id' for the platform ID. Similar to the stepping field, make the new field a mask of platform IDs. Some examples: 0x01: matches only platform ID 0x0 0x02: matches only platform ID 0x1 0x03: matches platform IDs 0x0 or 0x1 0x80: matches only platform ID 0x7 0xff: matches all 8 possible platform IDs Since the mask is only a byte wide, it nestles in next to another u8 and does not even increase the size of 'struct x86_cpu_id'. Reserve the all 0's value as the wildcard (X86_PLATFORM_ANY). This avoids forcing changes to existing 'struct x86_cpu_id' users. They can just continue to fill the field with 0's and their matching will work exactly as before. Note: If someone is ever looking for space in 'struct x86_cpu_id', this new field could probably get stuck over in ->driver_data for the one user that there is. Signed-off-by: Dave Hansen Reviewed-by: Sohil Mehta Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Cc: "H. Peter Anvin" Cc: Tony Luck Cc: Pawan Gupta Cc: "Peter Zijlstra (Intel)" Cc: x86@kernel.org Cc: Jon Kohler --- b/arch/x86/kernel/cpu/match.c | 3 +++ b/include/linux/mod_devicetable.h | 2 ++ 2 files changed, 5 insertions(+) diff -puN arch/x86/kernel/cpu/match.c~platform-match arch/x86/kernel/cpu/ma= tch.c --- a/arch/x86/kernel/cpu/match.c~platform-match 2026-02-24 15:37:22.556290= 868 -0800 +++ b/arch/x86/kernel/cpu/match.c 2026-02-24 15:37:22.561291110 -0800 @@ -76,6 +76,9 @@ const struct x86_cpu_id *x86_match_cpu(c if (m->steppings !=3D X86_STEPPING_ANY && !(BIT(c->x86_stepping) & m->steppings)) continue; + if (m->platform_mask !=3D X86_PLATFORM_ANY && + !(BIT(c->intel_platform_id) & m->platform_mask)) + continue; if (m->feature !=3D X86_FEATURE_ANY && !cpu_has(c, m->feature)) continue; if (!x86_match_vendor_cpu_type(c, m)) diff -puN include/linux/mod_devicetable.h~platform-match include/linux/mod_= devicetable.h --- a/include/linux/mod_devicetable.h~platform-match 2026-02-24 15:37:22.55= 8290965 -0800 +++ b/include/linux/mod_devicetable.h 2026-02-24 15:37:22.561291110 -0800 @@ -692,6 +692,7 @@ struct x86_cpu_id { __u16 feature; /* bit index */ /* Solely for kernel-internal use: DO NOT EXPORT to userspace! */ __u16 flags; + __u8 platform_mask; __u8 type; kernel_ulong_t driver_data; }; @@ -703,6 +704,7 @@ struct x86_cpu_id { #define X86_STEPPING_ANY 0 #define X86_STEP_MIN 0 #define X86_STEP_MAX 0xf +#define X86_PLATFORM_ANY 0x0 #define X86_FEATURE_ANY 0 /* Same as FPU, you can't test for that */ #define X86_CPU_TYPE_ANY 0 =20 _ From nobody Mon Apr 6 09:11:36 2026 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B975A3D4127 for ; Wed, 4 Mar 2026 18:10:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772647829; cv=none; b=DWP6SEE18VrCF65KyMn8Y3a19bOpt8ANXMWmXoLBjNc5CzWSJvUN5fZ73cUoHISI+j62cJ4QjnI6ku0IEzAGKDmbEc/gSJQogKMDEJGQizAr7oPoBFaNNbL0eB15O/m5cWR4iyb8ut1oBuwGpE5Fvd/usf8kHVCL2bCmozqIyG8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772647829; c=relaxed/simple; bh=6H5MUdPmBjRpPr3sEgDgUtlwcoPmpBWyIu3u275jYb0=; h=Subject:To:Cc:From:Date:References:In-Reply-To:Message-Id; b=pj1y6DZfJtAW02BBPljqBB3wtlEPzxTq0D6T/PhY97IYPbBx9Z786IAbtN+wm7V2HQ/xTDPUhl6SUNmLoP8fIfry4OZjT+E7/Uo16xyo+pAafnApkULgcakU5SHm8WuCxIGffaCpSKiPXPFKwH6G4wxuoFnppSi4whVxRySbbds= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=pass smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Q0hqltft; arc=none smtp.client-ip=198.175.65.10 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Q0hqltft" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1772647826; x=1804183826; h=subject:to:cc:from:date:references:in-reply-to: message-id; bh=6H5MUdPmBjRpPr3sEgDgUtlwcoPmpBWyIu3u275jYb0=; b=Q0hqltft9LbksOgWQmBi2SnJD6vmJywBlAV3rgrdwVrKN3aIq7gN/Tyc 1EIorSSh76JiAu80jDkLoP8rnA94nuiVWe7LUGXotoLzecuZF5cKA3l8p nqg+sqEonQJDy0P3MIHY1X++6c+exugDApPv32sPvemtfcIXFL7gOWG9W q5Wuvq7iejCb3Rj7jyrbp7BqmdFtEx65X1we30y31u+o2J8rbL3oFLX7b WF6VsD46wpFEm+K5OdI2W2oKSMwfb9jW1hP6LAYzrMztNSFr7R49iT8Is GwzygX3UD+3X3xjYXVtyi7Sf4ERBYP996kkTGvdXgkbBSTl2q4oA407wS g==; X-CSE-ConnectionGUID: Herxn0EeQZuHsqQntFGa5A== X-CSE-MsgGUID: WqDPe29lSG+nT6TxCc2QxA== X-IronPort-AV: E=McAfee;i="6800,10657,11719"; a="91108356" X-IronPort-AV: E=Sophos;i="6.21,324,1763452800"; d="scan'208";a="91108356" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2026 10:10:25 -0800 X-CSE-ConnectionGUID: Y0JNi5j+Tue/IKrZ0XvQGQ== X-CSE-MsgGUID: NkrqEVLISbyJFTlxmKZxhQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,324,1763452800"; d="scan'208";a="221358765" Received: from davehans-spike.ostc.intel.com (HELO localhost.localdomain) ([10.165.164.11]) by fmviesa004.fm.intel.com with ESMTP; 04 Mar 2026 10:10:24 -0800 Subject: [PATCH v4 4/4] x86/microcode: Add platform mask to Intel microcode "old" list To: linux-kernel@vger.kernel.org Cc: sohil.mehta@intel.com, zhao1.liu@intel.com, Dave Hansen , Borislav Petkov , "H. Peter Anvin" , Ingo Molnar , Jon Kohler , Pawan Gupta , "Peter Zijlstra (Intel)" , Thomas Gleixner , Tony Luck , x86@kernel.org From: Dave Hansen Date: Wed, 04 Mar 2026 10:10:24 -0800 References: <20260304181016.85EC87C7@davehans-spike.ostc.intel.com> In-Reply-To: <20260304181016.85EC87C7@davehans-spike.ostc.intel.com> Message-Id: <20260304181024.76E3F038@davehans-spike.ostc.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Dave Hansen Intel sometimes has CPUs with identical family/model/stepping but which need different microcode. These CPUs are differentiated with the platform ID. The Intel "microcode-20250512" release was used to generate the existing contents of intel-ucode-defs.h. Use that same release and add the platform mask to the definitions. This makes the list a few entries longer because some CPUs previously that shared a definition now need two or more. for example for the ancient Pentium III there are two CPUs that differ only in their platform and have two different microcode versions (note: .driver_data is the microcode version): { ..., .model =3D 0x05, .steppings =3D 0x0001, .platform_mask =3D 0x01, .d= river_data =3D 0x40 }, { ..., .model =3D 0x05, .steppings =3D 0x0001, .platform_mask =3D 0x08, .d= river_data =3D 0x45 }, Another example is the state-of-the-art Granite Rapids: { ..., .model =3D 0xad, .steppings =3D 0x0002, .platform_mask =3D 0x20, .= driver_data =3D 0xa0000d1 }, { ..., .model =3D 0xad, .steppings =3D 0x0002, .platform_mask =3D 0x95, .= driver_data =3D 0x10003a2 }, As you can see, this differentiation with platform ID has been necessary for a long time and is still relevant today. Without the platform matching, the old microcode table is incomplete. For instance, it might lead someone with a Pentium III, platform 0x0, and microcode 0x40 to think that they should have microcode 0x45, which is really only for platform 0x4 (.platform_mask=3D=3D0x08). In practice, this meant that folks with fully updated microcode were seeing "Vulnerable" in the "old_microcode" file. 1. https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files Signed-off-by: Dave Hansen Reviewed-by: Sohil Mehta Reported-by: Jon Kohler Closes: https://lore.kernel.org/all/38660F8F-499E-48CD-B58B-4822228A5941@nu= tanix.com/ Fixes: 4e2c719782a8 ("x86/cpu: Help users notice when running old Intel mic= rocode") Tested-by: Zhao Liu Link: https://lore.kernel.org/all/3ECBB974-C6F0-47A7-94B6-3646347F1CC2@nuta= nix.com/ Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Cc: "H. Peter Anvin" Cc: Tony Luck Cc: Pawan Gupta Cc: "Peter Zijlstra (Intel)" Cc: x86@kernel.org --- b/arch/x86/kernel/cpu/microcode/intel-ucode-defs.h | 398 ++++++++++++----= ----- 1 file changed, 238 insertions(+), 160 deletions(-) diff -puN arch/x86/kernel/cpu/microcode/intel-ucode-defs.h~add-platform-to-= defs arch/x86/kernel/cpu/microcode/intel-ucode-defs.h --- a/arch/x86/kernel/cpu/microcode/intel-ucode-defs.h~add-platform-to-defs= 2026-03-04 09:15:34.085808797 -0800 +++ b/arch/x86/kernel/cpu/microcode/intel-ucode-defs.h 2026-03-04 09:15:34.= 099809330 -0800 @@ -1,160 +1,238 @@ -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x03, .steppings =3D 0x0004, .driver_data =3D 0x= 2 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x05, .steppings =3D 0x0001, .driver_data =3D 0x= 45 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x05, .steppings =3D 0x0002, .driver_data =3D 0x= 40 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x05, .steppings =3D 0x0004, .driver_data =3D 0x= 2c }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x05, .steppings =3D 0x0008, .driver_data =3D 0x= 10 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x06, .steppings =3D 0x0001, .driver_data =3D 0x= a }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x06, .steppings =3D 0x0020, .driver_data =3D 0x= 3 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x06, .steppings =3D 0x0400, .driver_data =3D 0x= d }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x06, .steppings =3D 0x2000, .driver_data =3D 0x= 7 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x07, .steppings =3D 0x0002, .driver_data =3D 0x= 14 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x07, .steppings =3D 0x0004, .driver_data =3D 0x= 38 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x07, .steppings =3D 0x0008, .driver_data =3D 0x= 2e }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0002, .driver_data =3D 0x= 11 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0008, .driver_data =3D 0x= 8 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0040, .driver_data =3D 0x= c }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0400, .driver_data =3D 0x= 5 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x09, .steppings =3D 0x0020, .driver_data =3D 0x= 47 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0a, .steppings =3D 0x0001, .driver_data =3D 0x= 3 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0a, .steppings =3D 0x0002, .driver_data =3D 0x= 1 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0b, .steppings =3D 0x0002, .driver_data =3D 0x= 1d }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0b, .steppings =3D 0x0010, .driver_data =3D 0x= 2 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0d, .steppings =3D 0x0040, .driver_data =3D 0x= 18 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0e, .steppings =3D 0x0100, .driver_data =3D 0x= 39 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0e, .steppings =3D 0x1000, .driver_data =3D 0x= 59 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0004, .driver_data =3D 0x= 5d }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0040, .driver_data =3D 0x= d2 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0080, .driver_data =3D 0x= 6b }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0400, .driver_data =3D 0x= 95 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0800, .driver_data =3D 0x= bc }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x2000, .driver_data =3D 0x= a4 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x16, .steppings =3D 0x0002, .driver_data =3D 0x= 44 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x17, .steppings =3D 0x0040, .driver_data =3D 0x= 60f }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x17, .steppings =3D 0x0080, .driver_data =3D 0x= 70a }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x17, .steppings =3D 0x0400, .driver_data =3D 0x= a0b }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1a, .steppings =3D 0x0010, .driver_data =3D 0x= 12 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1a, .steppings =3D 0x0020, .driver_data =3D 0x= 1d }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1c, .steppings =3D 0x0004, .driver_data =3D 0x= 219 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1c, .steppings =3D 0x0400, .driver_data =3D 0x= 107 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1d, .steppings =3D 0x0002, .driver_data =3D 0x= 29 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1e, .steppings =3D 0x0020, .driver_data =3D 0x= a }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x25, .steppings =3D 0x0004, .driver_data =3D 0x= 11 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x25, .steppings =3D 0x0020, .driver_data =3D 0x= 7 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x26, .steppings =3D 0x0002, .driver_data =3D 0x= 105 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x2a, .steppings =3D 0x0080, .driver_data =3D 0x= 2f }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x2c, .steppings =3D 0x0004, .driver_data =3D 0x= 1f }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x2d, .steppings =3D 0x0040, .driver_data =3D 0x= 621 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x2d, .steppings =3D 0x0080, .driver_data =3D 0x= 71a }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x2e, .steppings =3D 0x0040, .driver_data =3D 0x= d }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x2f, .steppings =3D 0x0004, .driver_data =3D 0x= 3b }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x37, .steppings =3D 0x0100, .driver_data =3D 0x= 838 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x37, .steppings =3D 0x0200, .driver_data =3D 0x= 90d }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x3a, .steppings =3D 0x0200, .driver_data =3D 0x= 21 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x3c, .steppings =3D 0x0008, .driver_data =3D 0x= 28 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x3d, .steppings =3D 0x0010, .driver_data =3D 0x= 2f }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x3e, .steppings =3D 0x0010, .driver_data =3D 0x= 42e }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x3e, .steppings =3D 0x0040, .driver_data =3D 0x= 600 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x3e, .steppings =3D 0x0080, .driver_data =3D 0x= 715 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x3f, .steppings =3D 0x0004, .driver_data =3D 0x= 49 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x3f, .steppings =3D 0x0010, .driver_data =3D 0x= 1a }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x45, .steppings =3D 0x0002, .driver_data =3D 0x= 26 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x46, .steppings =3D 0x0002, .driver_data =3D 0x= 1c }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x47, .steppings =3D 0x0002, .driver_data =3D 0x= 22 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x4c, .steppings =3D 0x0008, .driver_data =3D 0x= 368 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x4c, .steppings =3D 0x0010, .driver_data =3D 0x= 411 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x4d, .steppings =3D 0x0100, .driver_data =3D 0x= 12d }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x4e, .steppings =3D 0x0008, .driver_data =3D 0x= f0 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x55, .steppings =3D 0x0008, .driver_data =3D 0x= 1000191 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x55, .steppings =3D 0x0010, .driver_data =3D 0x= 2007006 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x55, .steppings =3D 0x0020, .driver_data =3D 0x= 3000010 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x55, .steppings =3D 0x0080, .driver_data =3D 0x= 5003901 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x55, .steppings =3D 0x0800, .driver_data =3D 0x= 7002b01 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x56, .steppings =3D 0x0004, .driver_data =3D 0x= 1c }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x56, .steppings =3D 0x0008, .driver_data =3D 0x= 700001c }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x56, .steppings =3D 0x0010, .driver_data =3D 0x= f00001a }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x56, .steppings =3D 0x0020, .driver_data =3D 0x= e000015 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x5c, .steppings =3D 0x0004, .driver_data =3D 0x= 14 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x5c, .steppings =3D 0x0200, .driver_data =3D 0x= 48 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x5c, .steppings =3D 0x0400, .driver_data =3D 0x= 28 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x5e, .steppings =3D 0x0008, .driver_data =3D 0x= f0 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x5f, .steppings =3D 0x0002, .driver_data =3D 0x= 3e }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x66, .steppings =3D 0x0008, .driver_data =3D 0x= 2a }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x6a, .steppings =3D 0x0020, .driver_data =3D 0x= c0002f0 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x6a, .steppings =3D 0x0040, .driver_data =3D 0x= d000404 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x6c, .steppings =3D 0x0002, .driver_data =3D 0x= 10002d0 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x7a, .steppings =3D 0x0002, .driver_data =3D 0x= 42 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x7a, .steppings =3D 0x0100, .driver_data =3D 0x= 26 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x7e, .steppings =3D 0x0020, .driver_data =3D 0x= ca }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8a, .steppings =3D 0x0002, .driver_data =3D 0x= 33 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8c, .steppings =3D 0x0002, .driver_data =3D 0x= bc }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8c, .steppings =3D 0x0004, .driver_data =3D 0x= 3c }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8d, .steppings =3D 0x0002, .driver_data =3D 0x= 56 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8e, .steppings =3D 0x0200, .driver_data =3D 0x= f6 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8e, .steppings =3D 0x0400, .driver_data =3D 0x= f6 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8e, .steppings =3D 0x0800, .driver_data =3D 0x= f6 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8e, .steppings =3D 0x1000, .driver_data =3D 0x= 100 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8f, .steppings =3D 0x0010, .driver_data =3D 0x= 2c0003f7 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8f, .steppings =3D 0x0020, .driver_data =3D 0x= 2c0003f7 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8f, .steppings =3D 0x0040, .driver_data =3D 0x= 2c0003f7 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8f, .steppings =3D 0x0080, .driver_data =3D 0x= 2b000639 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8f, .steppings =3D 0x0100, .driver_data =3D 0x= 2c0003f7 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x96, .steppings =3D 0x0002, .driver_data =3D 0x= 1a }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x97, .steppings =3D 0x0004, .driver_data =3D 0x= 3a }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x97, .steppings =3D 0x0020, .driver_data =3D 0x= 3a }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9a, .steppings =3D 0x0008, .driver_data =3D 0x= 437 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9a, .steppings =3D 0x0010, .driver_data =3D 0x= 437 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9c, .steppings =3D 0x0001, .driver_data =3D 0x= 24000026 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9e, .steppings =3D 0x0200, .driver_data =3D 0x= f8 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9e, .steppings =3D 0x0400, .driver_data =3D 0x= fa }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9e, .steppings =3D 0x0800, .driver_data =3D 0x= f6 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9e, .steppings =3D 0x1000, .driver_data =3D 0x= f8 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9e, .steppings =3D 0x2000, .driver_data =3D 0x= 104 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xa5, .steppings =3D 0x0004, .driver_data =3D 0x= 100 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xa5, .steppings =3D 0x0008, .driver_data =3D 0x= 100 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xa5, .steppings =3D 0x0020, .driver_data =3D 0x= 100 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xa6, .steppings =3D 0x0001, .driver_data =3D 0x= 102 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xa6, .steppings =3D 0x0002, .driver_data =3D 0x= 100 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xa7, .steppings =3D 0x0002, .driver_data =3D 0x= 64 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xaa, .steppings =3D 0x0010, .driver_data =3D 0x= 24 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xad, .steppings =3D 0x0002, .driver_data =3D 0x= a0000d1 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xaf, .steppings =3D 0x0008, .driver_data =3D 0x= 3000341 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xb5, .steppings =3D 0x0001, .driver_data =3D 0x= a }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xb7, .steppings =3D 0x0002, .driver_data =3D 0x= 12f }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xb7, .steppings =3D 0x0010, .driver_data =3D 0x= 12f }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xba, .steppings =3D 0x0004, .driver_data =3D 0x= 4128 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xba, .steppings =3D 0x0008, .driver_data =3D 0x= 4128 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xba, .steppings =3D 0x0100, .driver_data =3D 0x= 4128 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xbd, .steppings =3D 0x0002, .driver_data =3D 0x= 11f }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xbe, .steppings =3D 0x0001, .driver_data =3D 0x= 1d }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xbf, .steppings =3D 0x0004, .driver_data =3D 0x= 3a }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xbf, .steppings =3D 0x0020, .driver_data =3D 0x= 3a }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xbf, .steppings =3D 0x0040, .driver_data =3D 0x= 3a }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xbf, .steppings =3D 0x0080, .driver_data =3D 0x= 3a }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xc5, .steppings =3D 0x0004, .driver_data =3D 0x= 118 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xc6, .steppings =3D 0x0004, .driver_data =3D 0x= 118 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xc6, .steppings =3D 0x0010, .driver_data =3D 0x= 118 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xca, .steppings =3D 0x0004, .driver_data =3D 0x= 118 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xcf, .steppings =3D 0x0002, .driver_data =3D 0x= 210002a9 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xcf, .steppings =3D 0x0004, .driver_data =3D 0x= 210002a9 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x00, .steppings =3D 0x0080, .driver_data =3D 0x= 12 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x00, .steppings =3D 0x0400, .driver_data =3D 0x= 15 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x01, .steppings =3D 0x0004, .driver_data =3D 0x= 2e }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0010, .driver_data =3D 0x= 21 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0020, .driver_data =3D 0x= 2c }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0040, .driver_data =3D 0x= 10 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0080, .driver_data =3D 0x= 39 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0200, .driver_data =3D 0x= 2f }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x03, .steppings =3D 0x0004, .driver_data =3D 0x= a }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x03, .steppings =3D 0x0008, .driver_data =3D 0x= c }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x03, .steppings =3D 0x0010, .driver_data =3D 0x= 17 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0002, .driver_data =3D 0x= 17 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0008, .driver_data =3D 0x= 5 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0010, .driver_data =3D 0x= 6 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0080, .driver_data =3D 0x= 3 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0100, .driver_data =3D 0x= e }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0200, .driver_data =3D 0x= 3 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0400, .driver_data =3D 0x= 4 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x06, .steppings =3D 0x0004, .driver_data =3D 0x= f }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x06, .steppings =3D 0x0010, .driver_data =3D 0x= 4 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x06, .steppings =3D 0x0020, .driver_data =3D 0x= 8 }, -{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x06, .steppings =3D 0x0100, .driver_data =3D 0x= 9 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x03, .steppings =3D 0x0004, .platform_mask =3D = 0x00, .driver_data =3D 0x2 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x05, .steppings =3D 0x0001, .platform_mask =3D = 0x01, .driver_data =3D 0x40 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x05, .steppings =3D 0x0001, .platform_mask =3D = 0x02, .driver_data =3D 0x41 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x05, .steppings =3D 0x0001, .platform_mask =3D = 0x08, .driver_data =3D 0x45 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x05, .steppings =3D 0x0002, .platform_mask =3D = 0x01, .driver_data =3D 0x40 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x05, .steppings =3D 0x0004, .platform_mask =3D = 0x01, .driver_data =3D 0x2a }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x05, .steppings =3D 0x0004, .platform_mask =3D = 0x02, .driver_data =3D 0x2c }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x05, .steppings =3D 0x0004, .platform_mask =3D = 0x04, .driver_data =3D 0x2b }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x05, .steppings =3D 0x0008, .platform_mask =3D = 0x01, .driver_data =3D 0x10 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x05, .steppings =3D 0x0008, .platform_mask =3D = 0x02, .driver_data =3D 0xc }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x05, .steppings =3D 0x0008, .platform_mask =3D = 0x04, .driver_data =3D 0xb }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x05, .steppings =3D 0x0008, .platform_mask =3D = 0x08, .driver_data =3D 0xd }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x06, .steppings =3D 0x0001, .platform_mask =3D = 0x01, .driver_data =3D 0xa }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x06, .steppings =3D 0x0020, .platform_mask =3D = 0x10, .driver_data =3D 0x3 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x06, .steppings =3D 0x0400, .platform_mask =3D = 0x02, .driver_data =3D 0xc }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x06, .steppings =3D 0x0400, .platform_mask =3D = 0x08, .driver_data =3D 0xd }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x06, .steppings =3D 0x0400, .platform_mask =3D = 0x20, .driver_data =3D 0xb }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x06, .steppings =3D 0x2000, .platform_mask =3D = 0x02, .driver_data =3D 0x5 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x06, .steppings =3D 0x2000, .platform_mask =3D = 0x08, .driver_data =3D 0x6 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x06, .steppings =3D 0x2000, .platform_mask =3D = 0x20, .driver_data =3D 0x7 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x07, .steppings =3D 0x0002, .platform_mask =3D = 0x04, .driver_data =3D 0x14 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x07, .steppings =3D 0x0004, .platform_mask =3D = 0x04, .driver_data =3D 0x38 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x07, .steppings =3D 0x0008, .platform_mask =3D = 0x04, .driver_data =3D 0x2e }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0002, .platform_mask =3D = 0x01, .driver_data =3D 0xd }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0002, .platform_mask =3D = 0x04, .driver_data =3D 0x10 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0002, .platform_mask =3D = 0x08, .driver_data =3D 0xf }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0002, .platform_mask =3D = 0x10, .driver_data =3D 0x11 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0002, .platform_mask =3D = 0x20, .driver_data =3D 0xe }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0008, .platform_mask =3D = 0x08, .driver_data =3D 0x8 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0008, .platform_mask =3D = 0x20, .driver_data =3D 0x7 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0040, .platform_mask =3D = 0x01, .driver_data =3D 0x7 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0040, .platform_mask =3D = 0x02, .driver_data =3D 0xa }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0040, .platform_mask =3D = 0x04, .driver_data =3D 0x2 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0040, .platform_mask =3D = 0x10, .driver_data =3D 0x8 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0040, .platform_mask =3D = 0x80, .driver_data =3D 0xc }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0400, .platform_mask =3D = 0x10, .driver_data =3D 0x1 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0400, .platform_mask =3D = 0x20, .driver_data =3D 0x4 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x08, .steppings =3D 0x0400, .platform_mask =3D = 0x80, .driver_data =3D 0x5 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x09, .steppings =3D 0x0020, .platform_mask =3D = 0x10, .driver_data =3D 0x7 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x09, .steppings =3D 0x0020, .platform_mask =3D = 0x20, .driver_data =3D 0x7 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x09, .steppings =3D 0x0020, .platform_mask =3D = 0x80, .driver_data =3D 0x47 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0a, .steppings =3D 0x0001, .platform_mask =3D = 0x04, .driver_data =3D 0x3 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0a, .steppings =3D 0x0002, .platform_mask =3D = 0x04, .driver_data =3D 0x1 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0b, .steppings =3D 0x0002, .platform_mask =3D = 0x10, .driver_data =3D 0x1c }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0b, .steppings =3D 0x0002, .platform_mask =3D = 0x20, .driver_data =3D 0x1d }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0b, .steppings =3D 0x0010, .platform_mask =3D = 0x10, .driver_data =3D 0x1 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0b, .steppings =3D 0x0010, .platform_mask =3D = 0x20, .driver_data =3D 0x2 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0d, .steppings =3D 0x0040, .platform_mask =3D = 0x20, .driver_data =3D 0x18 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0e, .steppings =3D 0x0100, .platform_mask =3D = 0x20, .driver_data =3D 0x39 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0e, .steppings =3D 0x1000, .platform_mask =3D = 0x20, .driver_data =3D 0x54 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0e, .steppings =3D 0x1000, .platform_mask =3D = 0x80, .driver_data =3D 0x59 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0004, .platform_mask =3D = 0x01, .driver_data =3D 0x5d }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0004, .platform_mask =3D = 0x20, .driver_data =3D 0x5c }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0040, .platform_mask =3D = 0x01, .driver_data =3D 0xd0 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0040, .platform_mask =3D = 0x04, .driver_data =3D 0xd2 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0040, .platform_mask =3D = 0x20, .driver_data =3D 0xd1 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0080, .platform_mask =3D = 0x10, .driver_data =3D 0x6a }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0080, .platform_mask =3D = 0x40, .driver_data =3D 0x6b }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0400, .platform_mask =3D = 0x80, .driver_data =3D 0x95 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0800, .platform_mask =3D = 0x01, .driver_data =3D 0xba }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0800, .platform_mask =3D = 0x04, .driver_data =3D 0xbc }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0800, .platform_mask =3D = 0x08, .driver_data =3D 0xbb }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0800, .platform_mask =3D = 0x10, .driver_data =3D 0xba }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0800, .platform_mask =3D = 0x20, .driver_data =3D 0xba }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0800, .platform_mask =3D = 0x40, .driver_data =3D 0xbc }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x0800, .platform_mask =3D = 0x80, .driver_data =3D 0xba }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x2000, .platform_mask =3D = 0x01, .driver_data =3D 0xa4 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x2000, .platform_mask =3D = 0x20, .driver_data =3D 0xa4 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x0f, .steppings =3D 0x2000, .platform_mask =3D = 0x80, .driver_data =3D 0xa4 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x16, .steppings =3D 0x0002, .platform_mask =3D = 0x01, .driver_data =3D 0x43 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x16, .steppings =3D 0x0002, .platform_mask =3D = 0x02, .driver_data =3D 0x42 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x16, .steppings =3D 0x0002, .platform_mask =3D = 0x80, .driver_data =3D 0x44 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x17, .steppings =3D 0x0040, .platform_mask =3D = 0x01, .driver_data =3D 0x60f }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x17, .steppings =3D 0x0040, .platform_mask =3D = 0x04, .driver_data =3D 0x60f }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x17, .steppings =3D 0x0040, .platform_mask =3D = 0x10, .driver_data =3D 0x60f }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x17, .steppings =3D 0x0040, .platform_mask =3D = 0x40, .driver_data =3D 0x60f }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x17, .steppings =3D 0x0040, .platform_mask =3D = 0x80, .driver_data =3D 0x60f }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x17, .steppings =3D 0x0080, .platform_mask =3D = 0x10, .driver_data =3D 0x70a }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x17, .steppings =3D 0x0400, .platform_mask =3D = 0x11, .driver_data =3D 0xa0b }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x17, .steppings =3D 0x0400, .platform_mask =3D = 0x44, .driver_data =3D 0xa0b }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x17, .steppings =3D 0x0400, .platform_mask =3D = 0xa0, .driver_data =3D 0xa0b }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1a, .steppings =3D 0x0010, .platform_mask =3D = 0x03, .driver_data =3D 0x12 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1a, .steppings =3D 0x0020, .platform_mask =3D = 0x03, .driver_data =3D 0x1d }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1c, .steppings =3D 0x0004, .platform_mask =3D = 0x01, .driver_data =3D 0x217 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1c, .steppings =3D 0x0004, .platform_mask =3D = 0x04, .driver_data =3D 0x218 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1c, .steppings =3D 0x0004, .platform_mask =3D = 0x08, .driver_data =3D 0x219 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1c, .steppings =3D 0x0400, .platform_mask =3D = 0x01, .driver_data =3D 0x107 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1c, .steppings =3D 0x0400, .platform_mask =3D = 0x04, .driver_data =3D 0x107 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1c, .steppings =3D 0x0400, .platform_mask =3D = 0x08, .driver_data =3D 0x107 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1c, .steppings =3D 0x0400, .platform_mask =3D = 0x10, .driver_data =3D 0x107 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1d, .steppings =3D 0x0002, .platform_mask =3D = 0x08, .driver_data =3D 0x29 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x1e, .steppings =3D 0x0020, .platform_mask =3D = 0x13, .driver_data =3D 0xa }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x25, .steppings =3D 0x0004, .platform_mask =3D = 0x12, .driver_data =3D 0x11 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x25, .steppings =3D 0x0020, .platform_mask =3D = 0x92, .driver_data =3D 0x7 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x26, .steppings =3D 0x0002, .platform_mask =3D = 0x01, .driver_data =3D 0x104 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x26, .steppings =3D 0x0002, .platform_mask =3D = 0x02, .driver_data =3D 0x105 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x2a, .steppings =3D 0x0080, .platform_mask =3D = 0x12, .driver_data =3D 0x2f }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x2c, .steppings =3D 0x0004, .platform_mask =3D = 0x03, .driver_data =3D 0x1f }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x2d, .steppings =3D 0x0040, .platform_mask =3D = 0x6d, .driver_data =3D 0x621 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x2d, .steppings =3D 0x0080, .platform_mask =3D = 0x6d, .driver_data =3D 0x71a }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x2e, .steppings =3D 0x0040, .platform_mask =3D = 0x04, .driver_data =3D 0xd }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x2f, .steppings =3D 0x0004, .platform_mask =3D = 0x05, .driver_data =3D 0x3b }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x37, .steppings =3D 0x0100, .platform_mask =3D = 0x02, .driver_data =3D 0x838 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x37, .steppings =3D 0x0100, .platform_mask =3D = 0x0c, .driver_data =3D 0x838 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x37, .steppings =3D 0x0200, .platform_mask =3D = 0x0f, .driver_data =3D 0x90d }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x3a, .steppings =3D 0x0200, .platform_mask =3D = 0x12, .driver_data =3D 0x21 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x3c, .steppings =3D 0x0008, .platform_mask =3D = 0x32, .driver_data =3D 0x28 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x3d, .steppings =3D 0x0010, .platform_mask =3D = 0xc0, .driver_data =3D 0x2f }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x3e, .steppings =3D 0x0010, .platform_mask =3D = 0xed, .driver_data =3D 0x42e }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x3e, .steppings =3D 0x0040, .platform_mask =3D = 0xed, .driver_data =3D 0x600 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x3e, .steppings =3D 0x0080, .platform_mask =3D = 0xed, .driver_data =3D 0x715 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x3f, .steppings =3D 0x0004, .platform_mask =3D = 0x6f, .driver_data =3D 0x49 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x3f, .steppings =3D 0x0010, .platform_mask =3D = 0x80, .driver_data =3D 0x1a }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x45, .steppings =3D 0x0002, .platform_mask =3D = 0x72, .driver_data =3D 0x26 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x46, .steppings =3D 0x0002, .platform_mask =3D = 0x32, .driver_data =3D 0x1c }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x47, .steppings =3D 0x0002, .platform_mask =3D = 0x22, .driver_data =3D 0x22 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x4c, .steppings =3D 0x0008, .platform_mask =3D = 0x01, .driver_data =3D 0x368 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x4c, .steppings =3D 0x0010, .platform_mask =3D = 0x01, .driver_data =3D 0x411 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x4d, .steppings =3D 0x0100, .platform_mask =3D = 0x01, .driver_data =3D 0x12d }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x4e, .steppings =3D 0x0008, .platform_mask =3D = 0xc0, .driver_data =3D 0xf0 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x55, .steppings =3D 0x0008, .platform_mask =3D = 0x97, .driver_data =3D 0x1000191 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x55, .steppings =3D 0x0010, .platform_mask =3D = 0xb7, .driver_data =3D 0x2007006 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x55, .steppings =3D 0x0020, .platform_mask =3D = 0xb7, .driver_data =3D 0x3000010 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x55, .steppings =3D 0x0080, .platform_mask =3D = 0xbf, .driver_data =3D 0x5003901 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x55, .steppings =3D 0x0800, .platform_mask =3D = 0xbf, .driver_data =3D 0x7002b01 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x56, .steppings =3D 0x0004, .platform_mask =3D = 0x10, .driver_data =3D 0x1c }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x56, .steppings =3D 0x0008, .platform_mask =3D = 0x10, .driver_data =3D 0x700001c }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x56, .steppings =3D 0x0010, .platform_mask =3D = 0x10, .driver_data =3D 0xf00001a }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x56, .steppings =3D 0x0020, .platform_mask =3D = 0x10, .driver_data =3D 0xe000015 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x5c, .steppings =3D 0x0004, .platform_mask =3D = 0x01, .driver_data =3D 0x14 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x5c, .steppings =3D 0x0200, .platform_mask =3D = 0x03, .driver_data =3D 0x48 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x5c, .steppings =3D 0x0400, .platform_mask =3D = 0x03, .driver_data =3D 0x28 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x5e, .steppings =3D 0x0008, .platform_mask =3D = 0x36, .driver_data =3D 0xf0 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x5f, .steppings =3D 0x0002, .platform_mask =3D = 0x01, .driver_data =3D 0x3e }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x66, .steppings =3D 0x0008, .platform_mask =3D = 0x80, .driver_data =3D 0x2a }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x6a, .steppings =3D 0x0020, .platform_mask =3D = 0x87, .driver_data =3D 0xc0002f0 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x6a, .steppings =3D 0x0040, .platform_mask =3D = 0x87, .driver_data =3D 0xd000404 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x6c, .steppings =3D 0x0002, .platform_mask =3D = 0x10, .driver_data =3D 0x10002d0 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x7a, .steppings =3D 0x0002, .platform_mask =3D = 0x01, .driver_data =3D 0x42 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x7a, .steppings =3D 0x0100, .platform_mask =3D = 0x01, .driver_data =3D 0x26 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x7e, .steppings =3D 0x0020, .platform_mask =3D = 0x80, .driver_data =3D 0xca }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8a, .steppings =3D 0x0002, .platform_mask =3D = 0x10, .driver_data =3D 0x33 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8c, .steppings =3D 0x0002, .platform_mask =3D = 0x80, .driver_data =3D 0xbc }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8c, .steppings =3D 0x0004, .platform_mask =3D = 0xc2, .driver_data =3D 0x3c }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8d, .steppings =3D 0x0002, .platform_mask =3D = 0xc2, .driver_data =3D 0x56 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8e, .steppings =3D 0x0200, .platform_mask =3D = 0x10, .driver_data =3D 0xf6 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8e, .steppings =3D 0x0200, .platform_mask =3D = 0xc0, .driver_data =3D 0xf6 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8e, .steppings =3D 0x0400, .platform_mask =3D = 0xc0, .driver_data =3D 0xf6 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8e, .steppings =3D 0x0800, .platform_mask =3D = 0xd0, .driver_data =3D 0xf6 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8e, .steppings =3D 0x1000, .platform_mask =3D = 0x94, .driver_data =3D 0x100 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8f, .steppings =3D 0x0010, .platform_mask =3D = 0x10, .driver_data =3D 0x2c0003f7 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8f, .steppings =3D 0x0010, .platform_mask =3D = 0x87, .driver_data =3D 0x2b000639 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8f, .steppings =3D 0x0020, .platform_mask =3D = 0x10, .driver_data =3D 0x2c0003f7 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8f, .steppings =3D 0x0020, .platform_mask =3D = 0x87, .driver_data =3D 0x2b000639 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8f, .steppings =3D 0x0040, .platform_mask =3D = 0x10, .driver_data =3D 0x2c0003f7 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8f, .steppings =3D 0x0040, .platform_mask =3D = 0x87, .driver_data =3D 0x2b000639 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8f, .steppings =3D 0x0080, .platform_mask =3D = 0x87, .driver_data =3D 0x2b000639 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8f, .steppings =3D 0x0100, .platform_mask =3D = 0x10, .driver_data =3D 0x2c0003f7 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x8f, .steppings =3D 0x0100, .platform_mask =3D = 0x87, .driver_data =3D 0x2b000639 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x96, .steppings =3D 0x0002, .platform_mask =3D = 0x01, .driver_data =3D 0x1a }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x97, .steppings =3D 0x0004, .platform_mask =3D = 0x07, .driver_data =3D 0x3a }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x97, .steppings =3D 0x0020, .platform_mask =3D = 0x07, .driver_data =3D 0x3a }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9a, .steppings =3D 0x0008, .platform_mask =3D = 0x80, .driver_data =3D 0x437 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9a, .steppings =3D 0x0010, .platform_mask =3D = 0x40, .driver_data =3D 0xa }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9a, .steppings =3D 0x0010, .platform_mask =3D = 0x80, .driver_data =3D 0x437 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9c, .steppings =3D 0x0001, .platform_mask =3D = 0x01, .driver_data =3D 0x24000026 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9e, .steppings =3D 0x0200, .platform_mask =3D = 0x2a, .driver_data =3D 0xf8 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9e, .steppings =3D 0x0400, .platform_mask =3D = 0x22, .driver_data =3D 0xfa }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9e, .steppings =3D 0x0800, .platform_mask =3D = 0x02, .driver_data =3D 0xf6 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9e, .steppings =3D 0x1000, .platform_mask =3D = 0x22, .driver_data =3D 0xf8 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0x9e, .steppings =3D 0x2000, .platform_mask =3D = 0x22, .driver_data =3D 0x104 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xa5, .steppings =3D 0x0004, .platform_mask =3D = 0x20, .driver_data =3D 0x100 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xa5, .steppings =3D 0x0008, .platform_mask =3D = 0x22, .driver_data =3D 0x100 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xa5, .steppings =3D 0x0020, .platform_mask =3D = 0x22, .driver_data =3D 0x100 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xa6, .steppings =3D 0x0001, .platform_mask =3D = 0x80, .driver_data =3D 0x102 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xa6, .steppings =3D 0x0002, .platform_mask =3D = 0x80, .driver_data =3D 0x100 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xa7, .steppings =3D 0x0002, .platform_mask =3D = 0x02, .driver_data =3D 0x64 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xaa, .steppings =3D 0x0010, .platform_mask =3D = 0xe6, .driver_data =3D 0x24 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xad, .steppings =3D 0x0002, .platform_mask =3D = 0x20, .driver_data =3D 0xa0000d1 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xad, .steppings =3D 0x0002, .platform_mask =3D = 0x95, .driver_data =3D 0x10003a2 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xaf, .steppings =3D 0x0008, .platform_mask =3D = 0x01, .driver_data =3D 0x3000341 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xb5, .steppings =3D 0x0001, .platform_mask =3D = 0x80, .driver_data =3D 0xa }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xb7, .steppings =3D 0x0002, .platform_mask =3D = 0x32, .driver_data =3D 0x12f }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xb7, .steppings =3D 0x0010, .platform_mask =3D = 0x32, .driver_data =3D 0x12f }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xba, .steppings =3D 0x0004, .platform_mask =3D = 0xe0, .driver_data =3D 0x4128 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xba, .steppings =3D 0x0008, .platform_mask =3D = 0xe0, .driver_data =3D 0x4128 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xba, .steppings =3D 0x0100, .platform_mask =3D = 0xe0, .driver_data =3D 0x4128 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xbd, .steppings =3D 0x0002, .platform_mask =3D = 0x80, .driver_data =3D 0x11f }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xbe, .steppings =3D 0x0001, .platform_mask =3D = 0x19, .driver_data =3D 0x1d }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xbf, .steppings =3D 0x0004, .platform_mask =3D = 0x07, .driver_data =3D 0x3a }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xbf, .steppings =3D 0x0020, .platform_mask =3D = 0x07, .driver_data =3D 0x3a }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xbf, .steppings =3D 0x0040, .platform_mask =3D = 0x07, .driver_data =3D 0x3a }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xbf, .steppings =3D 0x0080, .platform_mask =3D = 0x07, .driver_data =3D 0x3a }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xc5, .steppings =3D 0x0004, .platform_mask =3D = 0x82, .driver_data =3D 0x118 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xc6, .steppings =3D 0x0004, .platform_mask =3D = 0x82, .driver_data =3D 0x118 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xc6, .steppings =3D 0x0010, .platform_mask =3D = 0x82, .driver_data =3D 0x118 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xca, .steppings =3D 0x0004, .platform_mask =3D = 0x82, .driver_data =3D 0x118 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xcf, .steppings =3D 0x0002, .platform_mask =3D = 0x87, .driver_data =3D 0x210002a9 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0x6, .model =3D 0xcf, .steppings =3D 0x0004, .platform_mask =3D = 0x87, .driver_data =3D 0x210002a9 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x00, .steppings =3D 0x0080, .platform_mask =3D = 0x01, .driver_data =3D 0x12 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x00, .steppings =3D 0x0080, .platform_mask =3D = 0x02, .driver_data =3D 0x8 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x00, .steppings =3D 0x0400, .platform_mask =3D = 0x01, .driver_data =3D 0x13 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x00, .steppings =3D 0x0400, .platform_mask =3D = 0x02, .driver_data =3D 0x15 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x00, .steppings =3D 0x0400, .platform_mask =3D = 0x04, .driver_data =3D 0x14 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x01, .steppings =3D 0x0004, .platform_mask =3D = 0x04, .driver_data =3D 0x2e }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0010, .platform_mask =3D = 0x02, .driver_data =3D 0x1f }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0010, .platform_mask =3D = 0x04, .driver_data =3D 0x1e }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0010, .platform_mask =3D = 0x10, .driver_data =3D 0x21 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0020, .platform_mask =3D = 0x01, .driver_data =3D 0x29 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0020, .platform_mask =3D = 0x02, .driver_data =3D 0x2a }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0020, .platform_mask =3D = 0x04, .driver_data =3D 0x2b }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0020, .platform_mask =3D = 0x10, .driver_data =3D 0x2c }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0040, .platform_mask =3D = 0x02, .driver_data =3D 0x10 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0080, .platform_mask =3D = 0x02, .driver_data =3D 0x38 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0080, .platform_mask =3D = 0x04, .driver_data =3D 0x37 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0080, .platform_mask =3D = 0x08, .driver_data =3D 0x39 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0200, .platform_mask =3D = 0x02, .driver_data =3D 0x2d }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0200, .platform_mask =3D = 0x04, .driver_data =3D 0x2e }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x02, .steppings =3D 0x0200, .platform_mask =3D = 0x08, .driver_data =3D 0x2f }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x03, .steppings =3D 0x0004, .platform_mask =3D = 0x0d, .driver_data =3D 0xa }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x03, .steppings =3D 0x0008, .platform_mask =3D = 0x0d, .driver_data =3D 0xc }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x03, .steppings =3D 0x0010, .platform_mask =3D = 0x1d, .driver_data =3D 0x17 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0002, .platform_mask =3D = 0x02, .driver_data =3D 0x16 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0002, .platform_mask =3D = 0xbd, .driver_data =3D 0x17 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0008, .platform_mask =3D = 0x9d, .driver_data =3D 0x5 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0010, .platform_mask =3D = 0x9d, .driver_data =3D 0x6 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0080, .platform_mask =3D = 0x9d, .driver_data =3D 0x3 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0100, .platform_mask =3D = 0x01, .driver_data =3D 0xc }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0100, .platform_mask =3D = 0x02, .driver_data =3D 0xe }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0100, .platform_mask =3D = 0x5f, .driver_data =3D 0x7 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0200, .platform_mask =3D = 0xbd, .driver_data =3D 0x3 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0400, .platform_mask =3D = 0x5c, .driver_data =3D 0x4 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x04, .steppings =3D 0x0400, .platform_mask =3D = 0x5d, .driver_data =3D 0x2 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x06, .steppings =3D 0x0004, .platform_mask =3D = 0x04, .driver_data =3D 0xf }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x06, .steppings =3D 0x0010, .platform_mask =3D = 0x01, .driver_data =3D 0x2 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x06, .steppings =3D 0x0010, .platform_mask =3D = 0x34, .driver_data =3D 0x4 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x06, .steppings =3D 0x0020, .platform_mask =3D = 0x01, .driver_data =3D 0x8 }, +{ .flags =3D X86_CPU_ID_FLAG_ENTRY_VALID, .vendor =3D X86_VENDOR_INTEL, .f= amily =3D 0xf, .model =3D 0x06, .steppings =3D 0x0100, .platform_mask =3D = 0x22, .driver_data =3D 0x9 }, _