From f483697764846b208f14052081c6213389580e15 Mon Sep 17 00:00:00 2001 From: The Tumultuous Unicorn Of Darkness Date: Sun, 29 Oct 2023 13:24:25 +0100 Subject: [PATCH] DB: add Intel Bay Trail-D Dump found on instlatx64: http://users.atw.hu/instlatx64/GenuineIntel/GenuineIntel0030673_Silvermont3_CPUID.txt --- libcpuid/libcpuid_internal.h | 2 + libcpuid/recog_intel.c | 15 +- .../silvermont/bay-trail-d-celeron.test | 133 ++++++++++++++++++ 3 files changed, 148 insertions(+), 2 deletions(-) create mode 100644 tests/intel/x86-atom/silvermont/bay-trail-d-celeron.test diff --git a/libcpuid/libcpuid_internal.h b/libcpuid/libcpuid_internal.h index b6e6e99..fd9dca9 100644 --- a/libcpuid/libcpuid_internal.h +++ b/libcpuid/libcpuid_internal.h @@ -143,6 +143,8 @@ enum _intel_bits_t { _GOLD_ = LBIT( 23 ), _PLATINIUM_ = LBIT( 24 ), _MAX_ = LBIT( 25 ), + _J_ = LBIT( 26 ), + _N_ = LBIT( 27 ), }; typedef enum _intel_bits_t intel_bits_t; diff --git a/libcpuid/recog_intel.c b/libcpuid/recog_intel.c index 90e9a18..b2b2650 100644 --- a/libcpuid/recog_intel.c +++ b/libcpuid/recog_intel.c @@ -320,8 +320,10 @@ const struct match_entry_t cpudb_intel[] = { { 6, 15, -1, -1, 63, -1, -1, -1, NC, 0 , 0, "Haswell-E" }, /* Silvermont CPUs (2013, 22nm, low-power) */ - { 6, 7, -1, -1, 55, -1, -1, -1, NC, PENTIUM_ , 0, "Bay Trail-M (Pentium)" }, - { 6, 7, -1, -1, 55, -1, -1, -1, NC, CELERON_ , 0, "Bay Trail-M (Celeron)" }, + { 6, 7, -1, -1, 55, -1, -1, -1, NC, PENTIUM_|_J_ , 0, "Bay Trail-D (Pentium)" }, + { 6, 7, -1, -1, 55, -1, -1, -1, NC, CELERON_|_J_ , 0, "Bay Trail-D (Celeron)" }, + { 6, 7, -1, -1, 55, -1, -1, -1, NC, PENTIUM_|_N_ , 0, "Bay Trail-M (Pentium)" }, + { 6, 7, -1, -1, 55, -1, -1, -1, NC, CELERON_|_N_ , 0, "Bay Trail-M (Celeron)" }, { 6, 7, -1, -1, 55, -1, -1, -1, NC, ATOM_ , 0, "Bay Trail-T (Atom)" }, /* Broadwell CPUs (5th gen, 14nm): */ @@ -805,6 +807,15 @@ static intel_code_and_bits_t get_brand_code_and_bits(struct cpu_id_t* data) case 'W': bits |= _W_; break; } } + + if (((bits & PENTIUM_) || (bits & CELERON_)) && ((i = match_pattern(bs, "[JN]")) != 0)) { + i--; + switch (bs[i]) { + case 'J': bits |= _J_; break; + case 'N': bits |= _N_; break; + } + } + for (i = 0; i < COUNT_OF(matchtable); i++) if (match_pattern(bs, matchtable[i].search)) { code = matchtable[i].c; diff --git a/tests/intel/x86-atom/silvermont/bay-trail-d-celeron.test b/tests/intel/x86-atom/silvermont/bay-trail-d-celeron.test new file mode 100644 index 0000000..38bdc0d --- /dev/null +++ b/tests/intel/x86-atom/silvermont/bay-trail-d-celeron.test @@ -0,0 +1,133 @@ +------[ Logical CPU #0 ]------ +CPUID 00000000: 0000000B-756E6547-6C65746E-49656E69 [GenuineIntel] +CPUID 00000001: 00030673-00100800-41D8E3BF-BFEBFBFF +CPUID 00000002: 61B3A001-0000FFC2-00000000-00000000 +CPUID 00000003: 00000000-00000000-00000000-00000000 +CPUID 00000004: 1C000121-0140003F-0000003F-00000001 +CPUID 00000004: 1C000122-01C0003F-0000003F-00000001 +CPUID 00000004: 1C00C143-03C0003F-000003FF-00000001 +CPUID 00000005: 00000040-00000040-00000003-33000020 +CPUID 00000006: 00000005-00000002-00000009-00000000 +CPUID 00000007: 00000000-00002282-00000000-00000000 +CPUID 00000008: 00000000-00000000-00000000-00000000 +CPUID 00000009: 00000000-00000000-00000000-00000000 +CPUID 0000000A: 07280203-00000000-00000000-00004503 +CPUID 0000000B: 00000001-00000001-00000100-00000000 +CPUID 0000000B: 00000004-00000004-00000201-00000000 +CPUID 80000000: 80000008-00000000-00000000-00000000 +CPUID 80000001: 00000000-00000000-00000101-28100000 +CPUID 80000002: 20202020-6E492020-286C6574-43202952 [ Intel(R) C] +CPUID 80000003: 72656C65-52286E6F-50432029-4A202055 [eleron(R) CPU J] +CPUID 80000004: 30303931-20402020-39392E31-007A4847 [1900 @ 1.99GHz] +CPUID 80000005: 00000000-00000000-00000000-00000000 +CPUID 80000006: 00000000-00000000-04008040-00000000 +CPUID 80000007: 00000000-00000000-00000000-00000100 +CPUID 80000008: 00003024-00000000-00000000-00000000 +------[ Logical CPU #1 ]------ +CPUID 00000000: 0000000B-756E6547-6C65746E-49656E69 [GenuineIntel] +CPUID 00000001: 00030673-02100800-41D8E3BF-BFEBFBFF +CPUID 00000002: 61B3A001-0000FFC2-00000000-00000000 +CPUID 00000003: 00000000-00000000-00000000-00000000 +CPUID 00000004: 1C000121-0140003F-0000003F-00000001 +CPUID 00000004: 1C000122-01C0003F-0000003F-00000001 +CPUID 00000004: 1C00C143-03C0003F-000003FF-00000001 +CPUID 00000005: 00000040-00000040-00000003-33000020 +CPUID 00000006: 00000005-00000002-00000009-00000000 +CPUID 00000007: 00000000-00002282-00000000-00000000 +CPUID 00000008: 00000000-00000000-00000000-00000000 +CPUID 00000009: 00000000-00000000-00000000-00000000 +CPUID 0000000A: 07280203-00000000-00000000-00004503 +CPUID 0000000B: 00000001-00000001-00000100-00000002 +CPUID 0000000B: 00000004-00000004-00000201-00000002 +CPUID 80000000: 80000008-00000000-00000000-00000000 +CPUID 80000001: 00000000-00000000-00000101-28100000 +CPUID 80000002: 20202020-6E492020-286C6574-43202952 [ Intel(R) C] +CPUID 80000003: 72656C65-52286E6F-50432029-4A202055 [eleron(R) CPU J] +CPUID 80000004: 30303931-20402020-39392E31-007A4847 [1900 @ 1.99GHz] +CPUID 80000005: 00000000-00000000-00000000-00000000 +CPUID 80000006: 00000000-00000000-04008040-00000000 +CPUID 80000007: 00000000-00000000-00000000-00000100 +CPUID 80000008: 00003024-00000000-00000000-00000000 +------[ Logical CPU #2 ]------ +CPUID 00000000: 0000000B-756E6547-6C65746E-49656E69 [GenuineIntel] +CPUID 00000001: 00030673-04100800-41D8E3BF-BFEBFBFF +CPUID 00000002: 61B3A001-0000FFC2-00000000-00000000 +CPUID 00000003: 00000000-00000000-00000000-00000000 +CPUID 00000004: 1C000121-0140003F-0000003F-00000001 +CPUID 00000004: 1C000122-01C0003F-0000003F-00000001 +CPUID 00000004: 1C00C143-03C0003F-000003FF-00000001 +CPUID 00000005: 00000040-00000040-00000003-33000020 +CPUID 00000006: 00000005-00000002-00000009-00000000 +CPUID 00000007: 00000000-00002282-00000000-00000000 +CPUID 00000008: 00000000-00000000-00000000-00000000 +CPUID 00000009: 00000000-00000000-00000000-00000000 +CPUID 0000000A: 07280203-00000000-00000000-00004503 +CPUID 0000000B: 00000001-00000001-00000100-00000004 +CPUID 0000000B: 00000004-00000004-00000201-00000004 +CPUID 80000000: 80000008-00000000-00000000-00000000 +CPUID 80000001: 00000000-00000000-00000101-28100000 +CPUID 80000002: 20202020-6E492020-286C6574-43202952 [ Intel(R) C] +CPUID 80000003: 72656C65-52286E6F-50432029-4A202055 [eleron(R) CPU J] +CPUID 80000004: 30303931-20402020-39392E31-007A4847 [1900 @ 1.99GHz] +CPUID 80000005: 00000000-00000000-00000000-00000000 +CPUID 80000006: 00000000-00000000-04008040-00000000 +CPUID 80000007: 00000000-00000000-00000000-00000100 +CPUID 80000008: 00003024-00000000-00000000-00000000 +------[ Logical CPU #3 ]------ +CPUID 00000000: 0000000B-756E6547-6C65746E-49656E69 [GenuineIntel] +CPUID 00000001: 00030673-06100800-41D8E3BF-BFEBFBFF +CPUID 00000002: 61B3A001-0000FFC2-00000000-00000000 +CPUID 00000003: 00000000-00000000-00000000-00000000 +CPUID 00000004: 1C000121-0140003F-0000003F-00000001 +CPUID 00000004: 1C000122-01C0003F-0000003F-00000001 +CPUID 00000004: 1C00C143-03C0003F-000003FF-00000001 +CPUID 00000005: 00000040-00000040-00000003-33000020 +CPUID 00000006: 00000005-00000002-00000009-00000000 +CPUID 00000007: 00000000-00002282-00000000-00000000 +CPUID 00000008: 00000000-00000000-00000000-00000000 +CPUID 00000009: 00000000-00000000-00000000-00000000 +CPUID 0000000A: 07280203-00000000-00000000-00004503 +CPUID 0000000B: 00000001-00000001-00000100-00000006 +CPUID 0000000B: 00000004-00000004-00000201-00000006 +CPUID 80000000: 80000008-00000000-00000000-00000000 +CPUID 80000001: 00000000-00000000-00000101-28100000 +CPUID 80000002: 20202020-6E492020-286C6574-43202952 [ Intel(R) C] +CPUID 80000003: 72656C65-52286E6F-50432029-4A202055 [eleron(R) CPU J] +CPUID 80000004: 30303931-20402020-39392E31-007A4847 [1900 @ 1.99GHz] +CPUID 80000005: 00000000-00000000-00000000-00000000 +CPUID 80000006: 00000000-00000000-04008040-00000000 +CPUID 80000007: 00000000-00000000-00000000-00000100 +CPUID 80000008: 00003024-00000000-00000000-00000000 +-------------------------------------------------------------------------------- +x86 +general +6 +7 +3 +6 +55 +2 +4 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +128 (non-authoritative) +Bay Trail-D (Celeron) +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 xd movbe popcnt rdtscp lm lahf_lm constant_tsc rdrand