mirror of
https://github.com/chipsec/chipsec
synced 2026-06-08 13:31:00 +00:00
Add duplicate DID support for chipset and pch
changed Chipset_Dictionary and pch_dictionary to default_dict update logic to create chipset_code and pch_codes add get_cpuid command to use for additional detection of chipset updated init logic to match cpuid value if populated within Chipset_Dictionary and multiple entries exist Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
This commit is contained in:
+170
-143
@@ -128,135 +128,134 @@ CHIPSET_FAMILY_QUARK = [CHIPSET_ID_QRK]
|
||||
VID_INTEL = 0x8086
|
||||
|
||||
# PCI 0/0/0 Device IDs
|
||||
Chipset_Dictionary = {
|
||||
Chipset_Dictionary = collections.defaultdict(list)
|
||||
# DID : Data Dictionary
|
||||
|
||||
# 2nd Generation Core Processor Family (Sandy Bridge)
|
||||
0x0100 : {'name' : 'Sandy Bridge', 'id' : CHIPSET_ID_SNB , 'code' : CHIPSET_CODE_SNB, 'longname' : 'Desktop 2nd Generation Core Processor (Sandy Bridge CPU / Cougar Point PCH)' },
|
||||
0x0104 : {'name' : 'Sandy Bridge', 'id' : CHIPSET_ID_SNB , 'code' : CHIPSET_CODE_SNB, 'longname' : 'Mobile 2nd Generation Core Processor (Sandy Bridge CPU / Cougar Point PCH)' },
|
||||
0x0108 : {'name' : 'Sandy Bridge', 'id' : CHIPSET_ID_SNB , 'code' : CHIPSET_CODE_SNB, 'longname' : 'Intel Xeon Processor E3-1200 (Sandy Bridge CPU, C200 Series PCH)' },
|
||||
Chipset_Dictionary[0x0100].append({'name' : 'Sandy Bridge', 'id' : CHIPSET_ID_SNB , 'code' : CHIPSET_CODE_SNB, 'longname' : 'Desktop 2nd Generation Core Processor (Sandy Bridge CPU / Cougar Point PCH)' })
|
||||
Chipset_Dictionary[0x0104].append({'name' : 'Sandy Bridge', 'id' : CHIPSET_ID_SNB , 'code' : CHIPSET_CODE_SNB, 'longname' : 'Mobile 2nd Generation Core Processor (Sandy Bridge CPU / Cougar Point PCH)' })
|
||||
Chipset_Dictionary[0x0108].append({'name' : 'Sandy Bridge', 'id' : CHIPSET_ID_SNB , 'code' : CHIPSET_CODE_SNB, 'longname' : 'Intel Xeon Processor E3-1200 (Sandy Bridge CPU, C200 Series PCH)' })
|
||||
|
||||
# Xeon v1 Processor (Jaketown/Sandy Bridge - EP)
|
||||
0x3C00 : {'name' : 'Jaketown', 'id' : CHIPSET_ID_JKT, 'code' : CHIPSET_CODE_JKT, 'longname' : 'Server 2nd Generation Core Processor (Jaketown CPU / Patsburg PCH)'},
|
||||
Chipset_Dictionary[0x3C00].append({'name' : 'Jaketown', 'id' : CHIPSET_ID_JKT, 'code' : CHIPSET_CODE_JKT, 'longname' : 'Server 2nd Generation Core Processor (Jaketown CPU / Patsburg PCH)'})
|
||||
|
||||
# 3rd Generation Core Processor Family (Ivy Bridge)
|
||||
0x0150 : {'name' : 'Ivy Bridge', 'id' : CHIPSET_ID_IVB , 'code' : CHIPSET_CODE_IVB, 'longname' : 'Desktop 3rd Generation Core Processor (Ivy Bridge CPU / Panther Point PCH)' },
|
||||
0x0154 : {'name' : 'Ivy Bridge', 'id' : CHIPSET_ID_IVB , 'code' : CHIPSET_CODE_IVB, 'longname' : 'Mobile 3rd Generation Core Processor (Ivy Bridge CPU / Panther Point PCH)' },
|
||||
0x0158 : {'name' : 'Ivy Bridge', 'id' : CHIPSET_ID_IVB , 'code' : CHIPSET_CODE_IVB, 'longname' : 'Intel Xeon Processor E3-1200 v2 (Ivy Bridge CPU, C200/C216 Series PCH)' },
|
||||
Chipset_Dictionary[0x0150].append({'name' : 'Ivy Bridge', 'id' : CHIPSET_ID_IVB , 'code' : CHIPSET_CODE_IVB, 'longname' : 'Desktop 3rd Generation Core Processor (Ivy Bridge CPU / Panther Point PCH)' })
|
||||
Chipset_Dictionary[0x0154].append({'name' : 'Ivy Bridge', 'id' : CHIPSET_ID_IVB , 'code' : CHIPSET_CODE_IVB, 'longname' : 'Mobile 3rd Generation Core Processor (Ivy Bridge CPU / Panther Point PCH)' })
|
||||
Chipset_Dictionary[0x0158].append({'name' : 'Ivy Bridge', 'id' : CHIPSET_ID_IVB , 'code' : CHIPSET_CODE_IVB, 'longname' : 'Intel Xeon Processor E3-1200 v2 (Ivy Bridge CPU, C200/C216 Series PCH)' })
|
||||
|
||||
# Xeon v2 Processor (Ivy Town/Ivy Bridge - EP)
|
||||
0x0E00 : {'name' : 'Ivytown', 'id' : CHIPSET_ID_IVT, 'code' : CHIPSET_CODE_IVT, 'longname' : 'Server 3rd Generation Core Procesor (Ivytown CPU / Patsburg PCH)'},
|
||||
Chipset_Dictionary[0x0E00].append({'name' : 'Ivytown', 'id' : CHIPSET_ID_IVT, 'code' : CHIPSET_CODE_IVT, 'longname' : 'Server 3rd Generation Core Procesor (Ivytown CPU / Patsburg PCH)'})
|
||||
|
||||
# 4th Generation Core Processor Family (Haswell)
|
||||
0x0C00 : {'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : 'Desktop 4th Generation Core Processor (Haswell CPU / Lynx Point PCH)' },
|
||||
0x0C04 : {'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : 'Mobile 4th Generation Core Processor (Haswell M/H / Lynx Point PCH)' },
|
||||
0x0C08 : {'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : 'Intel Xeon Processor E3-1200 v3 (Haswell CPU, C220 Series PCH)' },
|
||||
0x0D00 : {'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : 'Desktop 4th Generation Core Processor (Haswell)' },
|
||||
0x0D04 : {'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : 'Mobile 4th Generation Core Processor (Haswell)' },
|
||||
0x0D08 : {'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : '4th Generation Core Processor (Haswell)' },
|
||||
0x0A00 : {'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : '4th Generation Core Processor (Haswell U/Y)' },
|
||||
0x0A04 : {'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : '4th Generation Core Processor (Haswell U/Y)' },
|
||||
0x0A08 : {'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : '4th Generation Core Processor (Haswell U/Y)' },
|
||||
Chipset_Dictionary[0x0C00].append({'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : 'Desktop 4th Generation Core Processor (Haswell CPU / Lynx Point PCH)' })
|
||||
Chipset_Dictionary[0x0C04].append({'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : 'Mobile 4th Generation Core Processor (Haswell M/H / Lynx Point PCH)' })
|
||||
Chipset_Dictionary[0x0C08].append({'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : 'Intel Xeon Processor E3-1200 v3 (Haswell CPU, C220 Series PCH)' })
|
||||
Chipset_Dictionary[0x0D00].append({'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : 'Desktop 4th Generation Core Processor (Haswell)' })
|
||||
Chipset_Dictionary[0x0D04].append({'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : 'Mobile 4th Generation Core Processor (Haswell)' })
|
||||
Chipset_Dictionary[0x0D08].append({'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : '4th Generation Core Processor (Haswell)' })
|
||||
Chipset_Dictionary[0x0A00].append({'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : '4th Generation Core Processor (Haswell U/Y)' })
|
||||
Chipset_Dictionary[0x0A04].append({'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : '4th Generation Core Processor (Haswell U/Y)' })
|
||||
Chipset_Dictionary[0x0A08].append({'name' : 'Haswell', 'id' : CHIPSET_ID_HSW , 'code' : CHIPSET_CODE_HSW, 'longname' : '4th Generation Core Processor (Haswell U/Y)' })
|
||||
|
||||
# 5th Generation Core Processor Family (Broadwell)
|
||||
0x1600 : {'name' : 'Broadwell', 'id' : CHIPSET_ID_BDW , 'code' : CHIPSET_CODE_BDW, 'longname' : 'Desktop 5th Generation Core Processor (Broadwell CPU / Wildcat Point PCH)' },
|
||||
0x1604 : {'name' : 'Broadwell', 'id' : CHIPSET_ID_BDW , 'code' : CHIPSET_CODE_BDW, 'longname' : 'Mobile 5th Generation Core Processor (Broadwell M/H / Wildcat Point PCH)' },
|
||||
0x1610 : {'name' : 'Broadwell', 'id' : CHIPSET_ID_BDW , 'code' : CHIPSET_CODE_BDW, 'longname' : 'Desktop 5th Generation Core Processor (Broadwell H / Wildcat Point PCH)' },
|
||||
0x1614 : {'name' : 'Broadwell', 'id' : CHIPSET_ID_BDW , 'code' : CHIPSET_CODE_BDW, 'longname' : 'Mobile 5th Generation Core Processor (Broadwell H / Wildcat Point PCH)' },
|
||||
Chipset_Dictionary[0x1600].append({'name' : 'Broadwell', 'id' : CHIPSET_ID_BDW , 'code' : CHIPSET_CODE_BDW, 'longname' : 'Desktop 5th Generation Core Processor (Broadwell CPU / Wildcat Point PCH)' })
|
||||
Chipset_Dictionary[0x1604].append({'name' : 'Broadwell', 'id' : CHIPSET_ID_BDW , 'code' : CHIPSET_CODE_BDW, 'longname' : 'Mobile 5th Generation Core Processor (Broadwell M/H / Wildcat Point PCH)' })
|
||||
Chipset_Dictionary[0x1610].append({'name' : 'Broadwell', 'id' : CHIPSET_ID_BDW , 'code' : CHIPSET_CODE_BDW, 'longname' : 'Desktop 5th Generation Core Processor (Broadwell H / Wildcat Point PCH)' })
|
||||
Chipset_Dictionary[0x1614].append({'name' : 'Broadwell', 'id' : CHIPSET_ID_BDW , 'code' : CHIPSET_CODE_BDW, 'longname' : 'Mobile 5th Generation Core Processor (Broadwell H / Wildcat Point PCH)' })
|
||||
|
||||
# 6th Generation Core Processor Family (Skylake)
|
||||
0x1904 : {'name' : 'Skylake', 'id' : CHIPSET_ID_SKL , 'code' : CHIPSET_CODE_SKL, 'longname' : 'Mobile 6th Generation Core Processor (Skylake U)' },
|
||||
0x190C : {'name' : 'Skylake', 'id' : CHIPSET_ID_SKL , 'code' : CHIPSET_CODE_SKL, 'longname' : 'Mobile 6th Generation Core Processor (Skylake Y)' },
|
||||
0x1900 : {'name' : 'Skylake', 'id' : CHIPSET_ID_SKL , 'code' : CHIPSET_CODE_SKL, 'longname' : 'Mobile 6th Generation Core Processor Dual Core (Skylake H)' },
|
||||
0x1910 : {'name' : 'Skylake', 'id' : CHIPSET_ID_SKL , 'code' : CHIPSET_CODE_SKL, 'longname' : 'Mobile 6th Generation Core Processor Quad Core (Skylake H)' },
|
||||
0x190F : {'name' : 'Skylake', 'id' : CHIPSET_ID_SKL , 'code' : CHIPSET_CODE_SKL, 'longname' : 'Desktop 6th Generation Core Processor Dual Core (Skylake CPU / Sunrise Point PCH)' },
|
||||
0x191F : {'name' : 'Skylake', 'id' : CHIPSET_ID_SKL , 'code' : CHIPSET_CODE_SKL, 'longname' : 'Desktop 6th Generation Core Processor Quad Core (Skylake CPU / Sunrise Point PCH)' },
|
||||
Chipset_Dictionary[0x1904].append({'name' : 'Skylake', 'id' : CHIPSET_ID_SKL , 'code' : CHIPSET_CODE_SKL, 'longname' : 'Mobile 6th Generation Core Processor (Skylake U)' })
|
||||
Chipset_Dictionary[0x190C].append({'name' : 'Skylake', 'id' : CHIPSET_ID_SKL , 'code' : CHIPSET_CODE_SKL, 'longname' : 'Mobile 6th Generation Core Processor (Skylake Y)' })
|
||||
Chipset_Dictionary[0x1900].append({'name' : 'Skylake', 'id' : CHIPSET_ID_SKL , 'code' : CHIPSET_CODE_SKL, 'longname' : 'Mobile 6th Generation Core Processor Dual Core (Skylake H)' })
|
||||
Chipset_Dictionary[0x1910].append({'name' : 'Skylake', 'id' : CHIPSET_ID_SKL , 'code' : CHIPSET_CODE_SKL, 'longname' : 'Mobile 6th Generation Core Processor Quad Core (Skylake H)' })
|
||||
Chipset_Dictionary[0x190F].append({'name' : 'Skylake', 'id' : CHIPSET_ID_SKL , 'code' : CHIPSET_CODE_SKL, 'longname' : 'Desktop 6th Generation Core Processor Dual Core (Skylake CPU / Sunrise Point PCH)' })
|
||||
Chipset_Dictionary[0x191F].append({'name' : 'Skylake', 'id' : CHIPSET_ID_SKL , 'code' : CHIPSET_CODE_SKL, 'longname' : 'Desktop 6th Generation Core Processor Quad Core (Skylake CPU / Sunrise Point PCH)' })
|
||||
|
||||
# 7th Generation Core Processor Family (Kabylake)
|
||||
0x5900 : {'name' : 'Kabylake', 'id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Mobile 7th Generation Core Processor (Kabylake H)' },
|
||||
0x5904 : {'name' : 'Kabylake', 'id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Mobile 7th Generation Core Processor (Kabylake U)' },
|
||||
0x590C : {'name' : 'Kabylake', 'id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Mobile 7th Generation Core Processor (Kabylake Y)' },
|
||||
0x590F : {'name' : 'Kabylake', 'id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Desktop 7th Generation Core Processor (Kabylake S)' },
|
||||
0x5910 : {'name' : 'Kabylake', 'id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Mobile 7th Generation Core Processor (Kabylake H)' },
|
||||
0x5914 : {'name' : 'Kabylake', 'id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Mobile 8th Generation Core Processor (Kabylake U-Quad Core)' },
|
||||
0x591F : {'name' : 'Kabylake', 'id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Desktop 7th Generation Core Processor (Kabylake S)' },
|
||||
0x5918 : {'name' : 'Kabylake', 'id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Mobile 7th Generation Core Processor (Kabylake H)' },
|
||||
Chipset_Dictionary[0x5900].append({'name' : 'Kabylake', 'id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Mobile 7th Generation Core Processor (Kabylake H)' })
|
||||
Chipset_Dictionary[0x5904].append({'name' : 'Kabylake', 'id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Mobile 7th Generation Core Processor (Kabylake U)' })
|
||||
Chipset_Dictionary[0x590C].append({'name' : 'Kabylake', 'id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Mobile 7th Generation Core Processor (Kabylake Y)' })
|
||||
Chipset_Dictionary[0x590F].append({'name' : 'Kabylake', 'id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Desktop 7th Generation Core Processor (Kabylake S)' })
|
||||
Chipset_Dictionary[0x5910].append({'name' : 'Kabylake', 'id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Mobile 7th Generation Core Processor (Kabylake H)' })
|
||||
Chipset_Dictionary[0x5914].append({'name' : 'Kabylake', 'id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Mobile 8th Generation Core Processor (Kabylake U-Quad Core)' })
|
||||
Chipset_Dictionary[0x591F].append({'name' : 'Kabylake', 'id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Desktop 7th Generation Core Processor (Kabylake S)' })
|
||||
Chipset_Dictionary[0x5918].append({'name' : 'Kabylake', 'id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Mobile 7th Generation Core Processor (Kabylake H)' })
|
||||
|
||||
# 8th Generation Core Processor Family (Coffeelake)
|
||||
0x3E0F : {'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake S 2 Cores)' },
|
||||
0x3E1F : {'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (Coffeelake S 4 Cores)' },
|
||||
0x3EC2 : {'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (Coffeelake S 6 Cores)' },
|
||||
0x3E30 : {'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake S 8 Cores)' },
|
||||
0x3ECC : {'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake U 2 Cores)' },
|
||||
0x3ED0 : {'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake U 4 Cores)' },
|
||||
0x3E10 : {'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake H 4 Cores)' },
|
||||
0x3EC4 : {'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake H 6 Cores)' },
|
||||
0x3E18 : {'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake Workstation 4 Cores)' },
|
||||
0x3EC6 : {'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake Workstation 6 Cores)' },
|
||||
0x3E31 : {'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake Workstation 8 Cores)' },
|
||||
0x3E33 : {'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake Server 4 Cores)' },
|
||||
0x3ECA : {'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake Server 6 Cores)' },
|
||||
0x3E32 : {'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake Server 8 Cores)' },
|
||||
Chipset_Dictionary[0x3E0F].append({'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake S 2 Cores)' })
|
||||
Chipset_Dictionary[0x3E1F].append({'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (Coffeelake S 4 Cores)' })
|
||||
Chipset_Dictionary[0x3EC2].append({'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (Coffeelake S 6 Cores)' })
|
||||
Chipset_Dictionary[0x3E30].append({'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake S 8 Cores)' })
|
||||
Chipset_Dictionary[0x3ECC].append({'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake U 2 Cores)' })
|
||||
Chipset_Dictionary[0x3ED0].append({'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake U 4 Cores)' })
|
||||
Chipset_Dictionary[0x3E10].append({'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake H 4 Cores)' })
|
||||
Chipset_Dictionary[0x3EC4].append({'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake H 6 Cores)' })
|
||||
Chipset_Dictionary[0x3E18].append({'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake Workstation 4 Cores)' })
|
||||
Chipset_Dictionary[0x3EC6].append({'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake Workstation 6 Cores)' })
|
||||
Chipset_Dictionary[0x3E31].append({'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake Workstation 8 Cores)' })
|
||||
Chipset_Dictionary[0x3E33].append({'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake Server 4 Cores)' })
|
||||
Chipset_Dictionary[0x3ECA].append({'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake Server 6 Cores)' })
|
||||
Chipset_Dictionary[0x3E32].append({'name' : 'CoffeeLake', 'id' : CHIPSET_ID_CFL , 'code' : CHIPSET_CODE_CFL, 'longname' : 'Desktop 8th Generation Core Processor (CoffeeLake Server 8 Cores)' })
|
||||
|
||||
# 8th Generation Core Processor Family (Whiskey Lake)
|
||||
0x3E34 : {'name': 'Whiskey Lake', 'id' : CHIPSET_ID_WHL , 'code' : CHIPSET_CODE_WHL, 'longname' : 'Mobile 8th Generation Core Processor (Whiskey Lake U 4 Cores)' },
|
||||
Chipset_Dictionary[0x3E34].append({'name': 'Whiskey Lake', 'id' : CHIPSET_ID_WHL , 'code' : CHIPSET_CODE_WHL, 'longname' : 'Mobile 8th Generation Core Processor (Whiskey Lake U 4 Cores)' })
|
||||
|
||||
# Xeon v3 Processor (Haswell Server)
|
||||
0x2F00 : {'name' : 'Haswell Server', 'id' : CHIPSET_ID_HSX, 'code' : CHIPSET_CODE_HSX, 'longname' : 'Server 4th Generation Core Processor (Haswell Server CPU / Wellsburg PCH)'},
|
||||
Chipset_Dictionary[0x2F00].append({'name' : 'Haswell Server', 'id' : CHIPSET_ID_HSX, 'code' : CHIPSET_CODE_HSX, 'longname' : 'Server 4th Generation Core Processor (Haswell Server CPU / Wellsburg PCH)'})
|
||||
|
||||
# Xeon v4 Processor (Broadwell Server)
|
||||
0x1618 : {'name' : 'Broadwell Server', 'id' : CHIPSET_ID_BDW , 'code' : CHIPSET_CODE_BDW, 'longname' : 'Intel Xeon Processor E3 v4 (Broadwell CPU)' },
|
||||
0x6F00 : {'name' : 'Broadwell Server', 'id' : CHIPSET_ID_BDX, 'code' : CHIPSET_CODE_BDX, 'longname' : 'Intel Xeon Processor E5/E7 v4 (Broadwell Server CPU / Wellsburg PCH)'},
|
||||
Chipset_Dictionary[0x1618].append({'name' : 'Broadwell Server', 'id' : CHIPSET_ID_BDW , 'code' : CHIPSET_CODE_BDW, 'longname' : 'Intel Xeon Processor E3 v4 (Broadwell CPU)' })
|
||||
Chipset_Dictionary[0x6F00].append({'name' : 'Broadwell Server', 'id' : CHIPSET_ID_BDX, 'code' : CHIPSET_CODE_BDX, 'longname' : 'Intel Xeon Processor E5/E7 v4 (Broadwell Server CPU / Wellsburg PCH)'})
|
||||
|
||||
# Xeon v5 Processor (Skylake Server)
|
||||
0x1918 : {'name' : 'Skylake Server', 'id' : CHIPSET_ID_SKL, 'code' : CHIPSET_CODE_SKL, 'longname' : 'Intel Xeon Processor E3 v5 (Skylake CPU / Sunrise Point PCH)'},
|
||||
0x2020 : {'name' : 'Skylake', 'id' : CHIPSET_ID_SKX , 'code' : CHIPSET_CODE_SKX, 'longname' : 'Intel Xeon Processor E5/E7 v5 (Skylake)' },
|
||||
Chipset_Dictionary[0x1918].append({'name' : 'Skylake Server', 'id' : CHIPSET_ID_SKL, 'code' : CHIPSET_CODE_SKL, 'longname' : 'Intel Xeon Processor E3 v5 (Skylake CPU / Sunrise Point PCH)'})
|
||||
Chipset_Dictionary[0x2020].append({'name' : 'Skylake', 'id' : CHIPSET_ID_SKX , 'code' : CHIPSET_CODE_SKX, 'longname' : 'Intel Xeon Processor E5/E7 v5 (Skylake)' })
|
||||
|
||||
# Xeon v6 Processor (Kabylake Server)
|
||||
0x5918 : {'name' : 'Kabylake','id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Intel Xeon Processor E3 v6 (Kabylake CPU)' },
|
||||
Chipset_Dictionary[0x5918].append({'name' : 'Kabylake','id' : CHIPSET_ID_KBL , 'code' : CHIPSET_CODE_KBL, 'longname' : 'Intel Xeon Processor E3 v6 (Kabylake CPU)' })
|
||||
|
||||
#
|
||||
# Atom based SoC platforms
|
||||
#
|
||||
|
||||
# Bay Trail SoC
|
||||
0x0F00 : {'name' : 'Baytrail', 'id' : CHIPSET_ID_BYT , 'code' : CHIPSET_CODE_BYT, 'longname' : 'Bay Trail SoC' },
|
||||
Chipset_Dictionary[0x0F00].append({'name' : 'Baytrail', 'id' : CHIPSET_ID_BYT , 'code' : CHIPSET_CODE_BYT, 'longname' : 'Bay Trail SoC' })
|
||||
|
||||
# Denverton
|
||||
0x1980 : {'name' : 'Denverton', 'id' : CHIPSET_ID_DNV , 'code' : CHIPSET_CODE_DNV, 'longname' : 'Intel Atom Processor C3000 Product Family' },
|
||||
Chipset_Dictionary[0x1980].append({'name' : 'Denverton', 'id' : CHIPSET_ID_DNV , 'code' : CHIPSET_CODE_DNV, 'longname' : 'Intel Atom Processor C3000 Product Family' })
|
||||
|
||||
# Atom C2000 Processor Family (Avoton)
|
||||
0x1F00 : {'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' },
|
||||
0x1F01 : {'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' },
|
||||
0x1F02 : {'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' },
|
||||
0x1F03 : {'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' },
|
||||
0x1F04 : {'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' },
|
||||
0x1F05 : {'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' },
|
||||
0x1F06 : {'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' },
|
||||
0x1F07 : {'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' },
|
||||
0x1F08 : {'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' },
|
||||
0x1F09 : {'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' },
|
||||
0x1F0A : {'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' },
|
||||
0x1F0B : {'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' },
|
||||
0x1F0C : {'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' },
|
||||
0x1F0D : {'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' },
|
||||
0x1F0E : {'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' },
|
||||
0x1F0F : {'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' },
|
||||
Chipset_Dictionary[0x1F00].append({'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' })
|
||||
Chipset_Dictionary[0x1F01].append({'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' })
|
||||
Chipset_Dictionary[0x1F02].append({'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' })
|
||||
Chipset_Dictionary[0x1F03].append({'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' })
|
||||
Chipset_Dictionary[0x1F04].append({'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' })
|
||||
Chipset_Dictionary[0x1F05].append({'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' })
|
||||
Chipset_Dictionary[0x1F06].append({'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' })
|
||||
Chipset_Dictionary[0x1F07].append({'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' })
|
||||
Chipset_Dictionary[0x1F08].append({'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' })
|
||||
Chipset_Dictionary[0x1F09].append({'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' })
|
||||
Chipset_Dictionary[0x1F0A].append({'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' })
|
||||
Chipset_Dictionary[0x1F0B].append({'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' })
|
||||
Chipset_Dictionary[0x1F0C].append({'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' })
|
||||
Chipset_Dictionary[0x1F0D].append({'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' })
|
||||
Chipset_Dictionary[0x1F0E].append({'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' })
|
||||
Chipset_Dictionary[0x1F0F].append({'name' : 'Avoton ', 'id' : CHIPSET_ID_AVN , 'code' : CHIPSET_CODE_AVN, 'longname' : 'Intel Avoton' })
|
||||
|
||||
# Cherry Trail SoC
|
||||
0x2280 : {'name' : 'Braswell/Cherry Trail', 'id' : CHIPSET_ID_CHT, 'code' : CHIPSET_CODE_CHT, 'longname' : 'Braswell/Cherry Trail SoC' },
|
||||
Chipset_Dictionary[0x2280].append({'name' : 'Braswell/Cherry Trail', 'id' : CHIPSET_ID_CHT, 'code' : CHIPSET_CODE_CHT, 'longname' : 'Braswell/Cherry Trail SoC' })
|
||||
|
||||
# Apollo Lake
|
||||
0x5AF0 : {'name' : 'Apollo Lake','id' : CHIPSET_ID_APL , 'code' : CHIPSET_CODE_APL, 'longname' : 'Apollo Lake' },
|
||||
Chipset_Dictionary[0x5AF0].append({'name' : 'Apollo Lake','id' : CHIPSET_ID_APL , 'code' : CHIPSET_CODE_APL, 'longname' : 'Apollo Lake' })
|
||||
|
||||
#
|
||||
# Quark based SoC platforms
|
||||
#
|
||||
|
||||
# Galileo Board
|
||||
0x0958 : {'name' : 'Galileo ', 'id' : CHIPSET_ID_QRK , 'code' : CHIPSET_CODE_QRK, 'longname' : 'Intel Quark SoC X1000' },
|
||||
Chipset_Dictionary[0x0958].append({'name' : 'Galileo ', 'id' : CHIPSET_ID_QRK , 'code' : CHIPSET_CODE_QRK, 'longname' : 'Intel Quark SoC X1000' })
|
||||
|
||||
}
|
||||
|
||||
PCH_ID_1xx = 10001
|
||||
PCH_ID_2xx = 10002
|
||||
@@ -273,85 +272,85 @@ PCH_CODE_C620 = 'PCH_C620'
|
||||
PCH_CODE_C60x = 'PCH_C60X'
|
||||
PCH_CODE_C61x = 'PCH_C61X'
|
||||
|
||||
pch_dictionary = {
|
||||
pch_dictionary = collections.defaultdict(list)
|
||||
|
||||
# 100 series PCH and 7th/8th gen mobile (U/Y)
|
||||
0xA143 : {'name' : 'H110', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel H110 (100 series) PCH'},
|
||||
0xA144 : {'name' : 'H170', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel H170 (100 series) PCH'},
|
||||
0xA145 : {'name' : 'Z170', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel Z170 (100 series) PCH'},
|
||||
0xA146 : {'name' : 'Q170', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel Q170 (100 series) PCH'},
|
||||
0xA147 : {'name' : 'Q150', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel Q150 (100 series) PCH'},
|
||||
0xA148 : {'name' : 'B150', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel B150 (100 series) PCH'},
|
||||
0xA149 : {'name' : 'C236', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel C236 (100 series) PCH'},
|
||||
0xA14A : {'name' : 'C232', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel C232 (100 series) PCH'},
|
||||
0xA14D : {'name' : 'CQM170', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel CQM170 (100 series) PCH'},
|
||||
0xA14E : {'name' : 'HM170', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel HM170 (100 series) PCH'},
|
||||
0xA150 : {'name' : 'CM236', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel CM236 (100 series) PCH'},
|
||||
0xA151 : {'name' : 'QMS180', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel QMS180 (100 series) PCH'},
|
||||
0xA152 : {'name' : 'HM175', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel HM175 (100 series) PCH'},
|
||||
0xA153 : {'name' : 'QM175', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel QM175 (100 series) PCH'},
|
||||
0xA154 : {'name' : 'CM238', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel CM238 (100 series) PCH'},
|
||||
0xA155 : {'name' : 'QMU185', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel QMU185 (100 series) PCH'},
|
||||
0x9D43 : {'name' : 'PCH-U', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'PCH-U Baseline'},
|
||||
0x9D48 : {'name' : 'PCH-U', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'PCH-U Premium'},
|
||||
0x9D4B : {'name' : 'PCH-U', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'PCH-Y with iHDCP 2.2 Premium'},
|
||||
0x9D4E : {'name' : 'PCH-U', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'PCH-U with iHDCP 2.2 Premium'},
|
||||
0x9D50 : {'name' : 'PCH-U', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'PCH-U with iHDCP 2.2 Base'},
|
||||
0x9D53 : {'name' : 'PCH-U', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'PCH-U Base'},
|
||||
0x9D56 : {'name' : 'PCH-Y', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'PCH-Y Premium'},
|
||||
0x9D58 : {'name' : 'PCH-U', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'PCH-U Premium'},
|
||||
pch_dictionary[0xA143].append({'name' : 'H110', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel H110 (100 series) PCH'})
|
||||
pch_dictionary[0xA144].append({'name' : 'H170', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel H170 (100 series) PCH'})
|
||||
pch_dictionary[0xA145].append({'name' : 'Z170', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel Z170 (100 series) PCH'})
|
||||
pch_dictionary[0xA146].append({'name' : 'Q170', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel Q170 (100 series) PCH'})
|
||||
pch_dictionary[0xA147].append({'name' : 'Q150', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel Q150 (100 series) PCH'})
|
||||
pch_dictionary[0xA148].append({'name' : 'B150', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel B150 (100 series) PCH'})
|
||||
pch_dictionary[0xA149].append({'name' : 'C236', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel C236 (100 series) PCH'})
|
||||
pch_dictionary[0xA14A].append({'name' : 'C232', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel C232 (100 series) PCH'})
|
||||
pch_dictionary[0xA14D].append({'name' : 'CQM170', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel CQM170 (100 series) PCH'})
|
||||
pch_dictionary[0xA14E].append({'name' : 'HM170', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel HM170 (100 series) PCH'})
|
||||
pch_dictionary[0xA150].append({'name' : 'CM236', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel CM236 (100 series) PCH'})
|
||||
pch_dictionary[0xA151].append({'name' : 'QMS180', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel QMS180 (100 series) PCH'})
|
||||
pch_dictionary[0xA152].append({'name' : 'HM175', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel HM175 (100 series) PCH'})
|
||||
pch_dictionary[0xA153].append({'name' : 'QM175', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel QM175 (100 series) PCH'})
|
||||
pch_dictionary[0xA154].append({'name' : 'CM238', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel CM238 (100 series) PCH'})
|
||||
pch_dictionary[0xA155].append({'name' : 'QMU185', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'Intel QMU185 (100 series) PCH'})
|
||||
pch_dictionary[0x9D43].append({'name' : 'PCH-U', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'PCH-U Baseline'})
|
||||
pch_dictionary[0x9D48].append({'name' : 'PCH-U', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'PCH-U Premium'})
|
||||
pch_dictionary[0x9D4B].append({'name' : 'PCH-U', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'PCH-Y with iHDCP 2.2 Premium'})
|
||||
pch_dictionary[0x9D4E].append({'name' : 'PCH-U', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'PCH-U with iHDCP 2.2 Premium'})
|
||||
pch_dictionary[0x9D50].append({'name' : 'PCH-U', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'PCH-U with iHDCP 2.2 Base'})
|
||||
pch_dictionary[0x9D53].append({'name' : 'PCH-U', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'PCH-U Base'})
|
||||
pch_dictionary[0x9D56].append({'name' : 'PCH-Y', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'PCH-Y Premium'})
|
||||
pch_dictionary[0x9D58].append({'name' : 'PCH-U', 'id' : PCH_ID_1xx, 'code' : PCH_CODE_1xx, 'longname' : 'PCH-U Premium'})
|
||||
|
||||
# 200 series and Z370 PCH
|
||||
0xA2C4 : {'name' : 'H270', 'id' : PCH_ID_2xx, 'code' : PCH_CODE_2xx, 'longname' : 'Intel H270 (200 series) PCH'},
|
||||
0xA2C5 : {'name' : 'Z270', 'id' : PCH_ID_2xx, 'code' : PCH_CODE_2xx, 'longname' : 'Intel Z270 (200 series) PCH'},
|
||||
0xA2C6 : {'name' : 'Q270', 'id' : PCH_ID_2xx, 'code' : PCH_CODE_2xx, 'longname' : 'Intel Q270 (200 series) PCH'},
|
||||
0xA2C7 : {'name' : 'Q250', 'id' : PCH_ID_2xx, 'code' : PCH_CODE_2xx, 'longname' : 'Intel Q250 (200 series) PCH'},
|
||||
0xA2C8 : {'name' : 'B250', 'id' : PCH_ID_2xx, 'code' : PCH_CODE_2xx, 'longname' : 'Intel B250 (200 series) PCH'},
|
||||
0xA2C9 : {'name' : 'Z370', 'id' : PCH_ID_2xx, 'code' : PCH_CODE_2xx, 'longname' : 'Intel Z370 (200 series) PCH'},
|
||||
0xA2D2 : {'name' : 'X299', 'id' : PCH_ID_2xx, 'code' : PCH_CODE_2xx, 'longname' : 'Intel X299 (200 series) PCH'},
|
||||
pch_dictionary[0xA2C4].append({'name' : 'H270', 'id' : PCH_ID_2xx, 'code' : PCH_CODE_2xx, 'longname' : 'Intel H270 (200 series) PCH'})
|
||||
pch_dictionary[0xA2C5].append({'name' : 'Z270', 'id' : PCH_ID_2xx, 'code' : PCH_CODE_2xx, 'longname' : 'Intel Z270 (200 series) PCH'})
|
||||
pch_dictionary[0xA2C6].append({'name' : 'Q270', 'id' : PCH_ID_2xx, 'code' : PCH_CODE_2xx, 'longname' : 'Intel Q270 (200 series) PCH'})
|
||||
pch_dictionary[0xA2C7].append({'name' : 'Q250', 'id' : PCH_ID_2xx, 'code' : PCH_CODE_2xx, 'longname' : 'Intel Q250 (200 series) PCH'})
|
||||
pch_dictionary[0xA2C8].append({'name' : 'B250', 'id' : PCH_ID_2xx, 'code' : PCH_CODE_2xx, 'longname' : 'Intel B250 (200 series) PCH'})
|
||||
pch_dictionary[0xA2C9].append({'name' : 'Z370', 'id' : PCH_ID_2xx, 'code' : PCH_CODE_2xx, 'longname' : 'Intel Z370 (200 series) PCH'})
|
||||
pch_dictionary[0xA2D2].append({'name' : 'X299', 'id' : PCH_ID_2xx, 'code' : PCH_CODE_2xx, 'longname' : 'Intel X299 (200 series) PCH'})
|
||||
|
||||
# 300 series and Z390 PCH
|
||||
0xA306 : {'name' : 'Q370', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel Q370 (300 series) PCH'},
|
||||
0xA304 : {'name' : 'H370', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel H370 (300 series) PCH'},
|
||||
0xA305 : {'name' : 'Z390', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel Z390 (300 series) PCH'},
|
||||
0xA308 : {'name' : 'B360', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel B360 (300 series) PCH'},
|
||||
0xA303 : {'name' : 'H310', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel H310 (300 series) PCH'},
|
||||
0xA30A : {'name' : 'C242', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel C242 (300 series) PCH'},
|
||||
0xA309 : {'name' : 'C246', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel C246 (300 series) PCH'},
|
||||
0xA30D : {'name' : 'HM370', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel HM370 (300 series) PCH'},
|
||||
0xA30C : {'name' : 'QM370', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel QM370 (300 series) PCH'},
|
||||
0xA30E : {'name' : 'CM246', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel CM246 (300 series) PCH'},
|
||||
0x9D84 : {'name' : 'PCH-U', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel 300 series On-Package PCH'},
|
||||
pch_dictionary[0xA306].append({'name' : 'Q370', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel Q370 (300 series) PCH'})
|
||||
pch_dictionary[0xA304].append({'name' : 'H370', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel H370 (300 series) PCH'})
|
||||
pch_dictionary[0xA305].append({'name' : 'Z390', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel Z390 (300 series) PCH'})
|
||||
pch_dictionary[0xA308].append({'name' : 'B360', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel B360 (300 series) PCH'})
|
||||
pch_dictionary[0xA303].append({'name' : 'H310', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel H310 (300 series) PCH'})
|
||||
pch_dictionary[0xA30A].append({'name' : 'C242', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel C242 (300 series) PCH'})
|
||||
pch_dictionary[0xA309].append({'name' : 'C246', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel C246 (300 series) PCH'})
|
||||
pch_dictionary[0xA30D].append({'name' : 'HM370', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel HM370 (300 series) PCH'})
|
||||
pch_dictionary[0xA30C].append({'name' : 'QM370', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel QM370 (300 series) PCH'})
|
||||
pch_dictionary[0xA30E].append({'name' : 'CM246', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel CM246 (300 series) PCH'})
|
||||
pch_dictionary[0x9D84].append({'name' : 'PCH-U', 'id' : PCH_ID_3xx, 'code' : PCH_CODE_3xx, 'longname' : 'Intel 300 series On-Package PCH'})
|
||||
|
||||
# C600 and X79 series PCH
|
||||
0x1D41 : {'name' : 'C600', 'id' : PCH_ID_C60x, 'code' : PCH_CODE_C60x, 'longname' : 'Intel C600/X79 series PCH'},
|
||||
pch_dictionary[0x1D41].append({'name' : 'C600', 'id' : PCH_ID_C60x, 'code' : PCH_CODE_C60x, 'longname' : 'Intel C600/X79 series PCH'})
|
||||
|
||||
# C610 and X99 series PCH
|
||||
0x8D40 : {'name' : 'C610', 'id' : PCH_ID_C61x, 'code' : PCH_CODE_C61x, 'longname' : 'Intel Wellsburg (C610/X99 series) PCH'},
|
||||
0x8D44 : {'name' : 'C610-G', 'id' : PCH_ID_C61x, 'code' : PCH_CODE_C61x, 'longname' : 'Intel Wellsburg-G (C610/X99 series) PCH'},
|
||||
0x8D47 : {'name' : 'C610-X', 'id' : PCH_ID_C61x, 'code' : PCH_CODE_C61x, 'longname' : 'Intel Wellsburg-X (C610/X99 series) PCH'},
|
||||
pch_dictionary[0x8D40].append({'name' : 'C610', 'id' : PCH_ID_C61x, 'code' : PCH_CODE_C61x, 'longname' : 'Intel Wellsburg (C610/X99 series) PCH'})
|
||||
pch_dictionary[0x8D44].append({'name' : 'C610-G', 'id' : PCH_ID_C61x, 'code' : PCH_CODE_C61x, 'longname' : 'Intel Wellsburg-G (C610/X99 series) PCH'})
|
||||
pch_dictionary[0x8D47].append({'name' : 'C610-X', 'id' : PCH_ID_C61x, 'code' : PCH_CODE_C61x, 'longname' : 'Intel Wellsburg-X (C610/X99 series) PCH'})
|
||||
|
||||
# C620 series PCH
|
||||
0xA1C1 : {'name' : 'C621', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C621 (C620 series) PCH'},
|
||||
0xA1C2 : {'name' : 'C622', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C622 (C620 series) PCH'},
|
||||
0xA1C3 : {'name' : 'C624', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C624 (C620 series) PCH'},
|
||||
0xA1C4 : {'name' : 'C625', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C625 (C620 series) PCH'},
|
||||
0xA1C5 : {'name' : 'C626', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C626 (C620 series) PCH'},
|
||||
0xA1C6 : {'name' : 'C627', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C627 (C620 series) PCH'},
|
||||
0xA1C7 : {'name' : 'C628', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C628 (C620 series) PCH'},
|
||||
0xA242 : {'name' : 'C624', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C624 (C620 series) PCH'},
|
||||
0xA243 : {'name' : 'C627', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C627 (C620 series) PCH'},
|
||||
0xA244 : {'name' : 'C621', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C621 (C620 series) PCH'},
|
||||
0xA245 : {'name' : 'C627', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C627 (C620 series) PCH'},
|
||||
0xA246 : {'name' : 'C628', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C628 (C620 series) PCH'}
|
||||
}
|
||||
pch_dictionary[0xA1C1].append({'name' : 'C621', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C621 (C620 series) PCH'})
|
||||
pch_dictionary[0xA1C2].append({'name' : 'C622', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C622 (C620 series) PCH'})
|
||||
pch_dictionary[0xA1C3].append({'name' : 'C624', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C624 (C620 series) PCH'})
|
||||
pch_dictionary[0xA1C4].append({'name' : 'C625', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C625 (C620 series) PCH'})
|
||||
pch_dictionary[0xA1C5].append({'name' : 'C626', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C626 (C620 series) PCH'})
|
||||
pch_dictionary[0xA1C6].append({'name' : 'C627', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C627 (C620 series) PCH'})
|
||||
pch_dictionary[0xA1C7].append({'name' : 'C628', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C628 (C620 series) PCH'})
|
||||
pch_dictionary[0xA242].append({'name' : 'C624', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C624 (C620 series) PCH'})
|
||||
pch_dictionary[0xA243].append({'name' : 'C627', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C627 (C620 series) PCH'})
|
||||
pch_dictionary[0xA244].append({'name' : 'C621', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C621 (C620 series) PCH'})
|
||||
pch_dictionary[0xA245].append({'name' : 'C627', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C627 (C620 series) PCH'})
|
||||
pch_dictionary[0xA246].append({'name' : 'C628', 'id' : PCH_ID_C620, 'code' : PCH_CODE_C620, 'longname' : 'Intel C628 (C620 series) PCH'})
|
||||
|
||||
|
||||
try:
|
||||
from chipsec.custom_chipsets import *
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
Chipset_Code = dict( [(Chipset_Dictionary[ _did ]['code'], _did) for _did in Chipset_Dictionary] )
|
||||
pch_codes = dict([(pch_dictionary[_did]['code'], _did) for _did in pch_dictionary])
|
||||
Chipset_Code = dict([(dl['code'], _did) for _did in Chipset_Dictionary for dl in Chipset_Dictionary[_did]])
|
||||
pch_codes = dict([(dl['code'], _did) for _did in pch_dictionary for dl in pch_dictionary[_did]])
|
||||
|
||||
def print_supported_chipsets():
|
||||
codes_dict = collections.defaultdict(list)
|
||||
@@ -455,6 +454,21 @@ class Chipset:
|
||||
if logger().DEBUG: logger().error("pci.read_dword couldn't read PCH VID/DID")
|
||||
return (vid, did, rid, pch_vid, pch_did, pch_rid)
|
||||
|
||||
def get_cpuid(self):
|
||||
# Get processor version information
|
||||
(eax, ebx, ecx, edx) = self.cpu.cpuid(0x01, 0x00)
|
||||
stepping = eax & 0xF
|
||||
model = (eax >> 4) & 0xF
|
||||
extmodel = (eax >> 16) & 0xF
|
||||
family = (eax >> 8) & 0xF
|
||||
ptype = (eax >>12) & 0x3
|
||||
extfamily = (eax >> 20) & 0xFF
|
||||
ret = '{:01X}{:01X}{:01X}{:01X}{:01X}'.format(extmodel,ptype,family,model,stepping)
|
||||
if extfamily == 0:
|
||||
return ret
|
||||
else:
|
||||
return '{:02X}{}'.format(extfamily,ret)
|
||||
|
||||
def init( self, platform_code, req_pch_code, start_driver, driver_exists=None, to_file=None, from_file=None ):
|
||||
|
||||
_unknown_platform = False
|
||||
@@ -476,7 +490,20 @@ class Chipset:
|
||||
self.did = 0xFFFF
|
||||
self.rid = 0xFF
|
||||
|
||||
if self.did in Chipset_Dictionary:
|
||||
if self.did in Chipset_Dictionary and len(Chipset_Dictionary[self.did] > 1):
|
||||
_unknown_platform = True
|
||||
self.longname = 'UnknownPlatform'
|
||||
value = self.get_cpuid()
|
||||
for item in Chipset_Dictionary[self.did]:
|
||||
if value == item['detection_value']:
|
||||
#matched setup info
|
||||
_unknown_platform = False
|
||||
data_dict = item
|
||||
self.code = data_dict['code'].lower()
|
||||
self.longname = data_dict['longname']
|
||||
self.id = data_dict['id']
|
||||
break
|
||||
elif self.did in Chipset_Dictionary:
|
||||
data_dict = Chipset_Dictionary[ self.did ]
|
||||
self.code = data_dict['code'].lower()
|
||||
self.longname = data_dict['longname']
|
||||
|
||||
Reference in New Issue
Block a user