From 199a23cd8ac32236b9112709a6910c4055c71932 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Sun, 22 Jan 2017 22:19:24 +0100 Subject: [PATCH] mstrool: only use intel targets for actual intel CPUs VIA c3 & C7 use the the family of 0x6 and model 10, but are not quite Pentium III. Change-Id: I85e9853b42cfd20db46db0bd244620d6813bc826 Signed-off-by: Lubomir Rintel Reviewed-on: https://review.coreboot.org/18256 Reviewed-by: Martin Roth Tested-by: build bot (Jenkins) --- util/msrtool/intel_atom.c | 5 +++-- util/msrtool/intel_core1.c | 4 +++- util/msrtool/intel_core2_early.c | 4 +++- util/msrtool/intel_core2_later.c | 4 +++- util/msrtool/intel_nehalem.c | 3 ++- util/msrtool/intel_pentium3.c | 3 ++- util/msrtool/intel_pentium3_early.c | 3 ++- util/msrtool/intel_pentium4_early.c | 4 +++- util/msrtool/intel_pentium4_later.c | 3 ++- 9 files changed, 23 insertions(+), 10 deletions(-) diff --git a/util/msrtool/intel_atom.c b/util/msrtool/intel_atom.c index c055f4cc13..2d89c9c640 100644 --- a/util/msrtool/intel_atom.c +++ b/util/msrtool/intel_atom.c @@ -16,8 +16,9 @@ #include "msrtool.h" int intel_atom_probe(const struct targetdef *target, const struct cpuid_t *id) { - return (0x6 == id->family) && - (0x1c == id->model); + return ((VENDOR_INTEL == id->vendor) && + (0x6 == id->family) && + (0x1c == id->model)); } const struct msrdef intel_atom_msrs[] = { diff --git a/util/msrtool/intel_core1.c b/util/msrtool/intel_core1.c index ef2b660862..039a2f8228 100644 --- a/util/msrtool/intel_core1.c +++ b/util/msrtool/intel_core1.c @@ -16,7 +16,9 @@ #include "msrtool.h" int intel_core1_probe(const struct targetdef *target, const struct cpuid_t *id) { - return ((0x6 == id->family) && (0xe == id->model)); + return ((VENDOR_INTEL == id->vendor) && + (0x6 == id->family) && + (0xe == id->model)); } const struct msrdef intel_core1_msrs[] = { diff --git a/util/msrtool/intel_core2_early.c b/util/msrtool/intel_core2_early.c index a9b742f237..1072624443 100644 --- a/util/msrtool/intel_core2_early.c +++ b/util/msrtool/intel_core2_early.c @@ -16,7 +16,9 @@ #include "msrtool.h" int intel_core2_early_probe(const struct targetdef *target, const struct cpuid_t *id) { - return ((0x6 == id->family) && (0xf == id->model)); + return ((VENDOR_INTEL == id->vendor) && + (0x6 == id->family) && + (0xf == id->model)); } const struct msrdef intel_core2_early_msrs[] = { diff --git a/util/msrtool/intel_core2_later.c b/util/msrtool/intel_core2_later.c index 3cb28c6fdb..ad353ebc0c 100644 --- a/util/msrtool/intel_core2_later.c +++ b/util/msrtool/intel_core2_later.c @@ -16,7 +16,9 @@ #include "msrtool.h" int intel_core2_later_probe(const struct targetdef *target, const struct cpuid_t *id) { - return ((0x6 == id->family)&(0x17 == id->model)); + return ((VENDOR_INTEL == id->vendor) && + (0x6 == id->family) && + (0x17 == id->model)); } const struct msrdef intel_core2_later_msrs[] = { diff --git a/util/msrtool/intel_nehalem.c b/util/msrtool/intel_nehalem.c index c133653ee9..679efb5f1c 100644 --- a/util/msrtool/intel_nehalem.c +++ b/util/msrtool/intel_nehalem.c @@ -16,7 +16,8 @@ #include "msrtool.h" int intel_nehalem_probe(const struct targetdef *target, const struct cpuid_t *id) { - return ((0x6 == id->family) && ( + return ((VENDOR_INTEL == id->vendor) && + (0x6 == id->family) && ( (0x1a == id->model) || (0x1e == id->model) || (0x1f == id->model) || diff --git a/util/msrtool/intel_pentium3.c b/util/msrtool/intel_pentium3.c index 456963fbfb..6b12428294 100644 --- a/util/msrtool/intel_pentium3.c +++ b/util/msrtool/intel_pentium3.c @@ -16,7 +16,8 @@ #include "msrtool.h" int intel_pentium3_probe(const struct targetdef *target, const struct cpuid_t *id) { - return ((0x6 == id->family) && ( + return ((VENDOR_INTEL == id->vendor) && + (0x6 == id->family) && ( (0xa == id->model) || (0xb == id->model) )); diff --git a/util/msrtool/intel_pentium3_early.c b/util/msrtool/intel_pentium3_early.c index 925b24fe31..afdc62ec66 100644 --- a/util/msrtool/intel_pentium3_early.c +++ b/util/msrtool/intel_pentium3_early.c @@ -16,7 +16,8 @@ #include "msrtool.h" int intel_pentium3_early_probe(const struct targetdef *target, const struct cpuid_t *id) { - return ((0x6 == id->family) && ( + return ((VENDOR_INTEL == id->vendor) && + (0x6 == id->family) && ( (0x7 == id->model) || (0x8 == id->model) )); diff --git a/util/msrtool/intel_pentium4_early.c b/util/msrtool/intel_pentium4_early.c index 537d9e3a24..649be04349 100644 --- a/util/msrtool/intel_pentium4_early.c +++ b/util/msrtool/intel_pentium4_early.c @@ -16,7 +16,9 @@ #include "msrtool.h" int intel_pentium4_early_probe(const struct targetdef *target, const struct cpuid_t *id) { - return ((0xf == id->family) && (0x2 == id->model)); + return ((VENDOR_INTEL == id->vendor) && + (0xf == id->family) && + (0x2 == id->model)); } const struct msrdef intel_pentium4_early_msrs[] = { diff --git a/util/msrtool/intel_pentium4_later.c b/util/msrtool/intel_pentium4_later.c index cc85f6506d..54441612fa 100644 --- a/util/msrtool/intel_pentium4_later.c +++ b/util/msrtool/intel_pentium4_later.c @@ -16,7 +16,8 @@ #include "msrtool.h" int intel_pentium4_later_probe(const struct targetdef *target, const struct cpuid_t *id) { - return ((0xf == id->family) && ( + return ((VENDOR_INTEL == id->vendor) && + (0xf == id->family) && ( (0x3 == id->model) || (0x4 == id->model) ));