Intel Atom cpu support to msrtool

Added support for Intel Atom cpu to msrtool
Fixed a cut&paste error in nehalem msr bits definition

It has been tested with a N455 cpu and msrtool output can be review at:
http://www.trillion01.com/coreboot/msrtool_atom.txt

Change-Id: I0ecf455b559185e2d16fa1a655bf021efc2ef537
Signed-off-by: Olivier Langlois <olivier@olivierlanglois.net>
Reviewed-on: http://review.coreboot.org/3351
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Olivier Langlois 2013-06-03 01:30:25 -04:00 committed by Stefan Reinauer
parent e1cddc1278
commit ccc7d1f229
5 changed files with 1155 additions and 2 deletions

View File

@ -26,7 +26,7 @@ PREFIX = @PREFIX@
CFLAGS = @CFLAGS@ -fno-pic CFLAGS = @CFLAGS@ -fno-pic
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
TARGETS = geodegx2.o geodelx.o cs5536.o k8.o intel_pentium3_early.o intel_pentium3.o intel_pentium4_early.o intel_pentium4_later.o intel_core1.o intel_core2_early.o intel_core2_later.o intel_nehalem.o TARGETS = geodegx2.o geodelx.o cs5536.o k8.o intel_pentium3_early.o intel_pentium3.o intel_pentium4_early.o intel_pentium4_later.o intel_core1.o intel_core2_early.o intel_core2_later.o intel_nehalem.o intel_atom.o
SYSTEMS = linux.o darwin.o freebsd.o SYSTEMS = linux.o darwin.o freebsd.o
OBJS = $(PROGRAM).o msrutils.o sys.o $(SYSTEMS) $(TARGETS) OBJS = $(PROGRAM).o msrutils.o sys.o $(SYSTEMS) $(TARGETS)

1148
util/msrtool/intel_atom.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -311,7 +311,7 @@ const struct msrdef intel_nehalem_msrs[] = {
* Trusted Execution Technology. * Trusted Execution Technology.
*/ */
{ MSR1(0), "VMX inside of SMX operation disabled" }, { MSR1(0), "VMX inside of SMX operation disabled" },
{ MSR1(1), "VMX outside of SMX operation enabled" }, { MSR1(1), "VMX inside of SMX operation enabled" },
{ BITVAL_EOT } { BITVAL_EOT }
}}, }},
/* if CPUID.01H: ECX[5 or 6] = 1 */ /* if CPUID.01H: ECX[5 or 6] = 1 */

View File

@ -52,6 +52,7 @@ static struct targetdef alltargets[] = {
{ "intel_pentium4_early", "Intel Xeon Processor, Intel Xeon Processor MP, Intel Pentium 4 processors", intel_pentium4_early_probe, intel_pentium4_early_msrs }, { "intel_pentium4_early", "Intel Xeon Processor, Intel Xeon Processor MP, Intel Pentium 4 processors", intel_pentium4_early_probe, intel_pentium4_early_msrs },
{ "intel_pentium4_later", "Intel Xeon Processor, Intel Xeon Processor MP, Intel Pentium 4, Pentium D processors", intel_pentium4_later_probe, intel_pentium4_later_msrs }, { "intel_pentium4_later", "Intel Xeon Processor, Intel Xeon Processor MP, Intel Pentium 4, Pentium D processors", intel_pentium4_later_probe, intel_pentium4_later_msrs },
{ "intel_nehalem", "Intel Core i5, i7 Processors, Intel Xeon Processor 3400, 3500, 5500, based on Nehalem architecture", intel_nehalem_probe, intel_nehalem_msrs }, { "intel_nehalem", "Intel Core i5, i7 Processors, Intel Xeon Processor 3400, 3500, 5500, based on Nehalem architecture", intel_nehalem_probe, intel_nehalem_msrs },
{ "intel_atom", "Intel Atom Processors, N450", intel_atom_probe, intel_atom_msrs },
{ TARGET_EOT } { TARGET_EOT }
}; };

View File

@ -250,4 +250,8 @@ extern const struct msrdef intel_pentium4_later_msrs[];
extern int intel_nehalem_probe(const struct targetdef *t, const struct cpuid_t *id); extern int intel_nehalem_probe(const struct targetdef *t, const struct cpuid_t *id);
extern const struct msrdef intel_nehalem_msrs[]; extern const struct msrdef intel_nehalem_msrs[];
/* intel_atom.c */
extern int intel_atom_probe(const struct targetdef *t, const struct cpuid_t *id);
extern const struct msrdef intel_atom_msrs[];
#endif /* MSRTOOL_H */ #endif /* MSRTOOL_H */