linux/arch/i386/kernel/cpu
Bernhard Kaindl de938c51d5 [PATCH] i386: Enable support for fixed-range IORRs to keep RdMem & WrMem in sync
If our copy of the MTRRs of the BSP has RdMem or WrMem set, and
we are running on an AMD64/K8 system, the boot CPU must have had
MtrrFixDramEn and MtrrFixDramModEn set (otherwise our RDMSR would
have copied these bits cleared), so we set them on this CPU as well.

This allows us to keep the AMD64/K8 RdMem and WrMem bits in sync
across the CPUs of SMP systems in order to fullfill the duty of
system software to "initialize and maintain MTRR consistency
across all processors." as written in the AMD and Intel manuals.

If an WRMSR instruction fails because MtrrFixDramModEn is not
set, I expect that also the Intel-style MTRR bits are not updated.

AK: minor cleanup, moved MSR defines around

Signed-off-by: Bernhard Kaindl <bk@suse.de>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andi Kleen <ak@suse.de>
Cc: Dave Jones <davej@codemonkey.org.uk>
2007-05-02 19:27:17 +02:00
..
cpufreq Longhaul - Revert ACPI C3 on Longhaul ver. 2 2007-04-20 22:56:29 -07:00
mcheck [PATCH] i386: Clean up arch/i386/kernel/cpu/mcheck/p4.c 2007-05-02 19:27:16 +02:00
mtrr [PATCH] i386: Enable support for fixed-range IORRs to keep RdMem & WrMem in sync 2007-05-02 19:27:17 +02:00
amd.c [PATCH] x86: Don't use MWAIT on AMD Family 10 2007-05-02 19:27:12 +02:00
bugs.c [PATCH] i386: Clean up asm-i386/bugs.h 2007-05-02 19:27:12 +02:00
centaur.c [PATCH] i386: mark cpu cache functions as __cpuinit 2006-09-26 10:52:36 +02:00
common.c [PATCH] i386: Fix UP gdt bugs 2007-05-02 19:27:16 +02:00
cpu.h [PATCH] i386: remove redundant generic_identify() calls when identifying cpus 2006-09-26 10:52:36 +02:00
cyrix.c [PATCH] x86: Log reason why TSC was marked unstable 2007-05-02 19:27:08 +02:00
intel_cacheinfo.c [PATCH] i386: replace kmalloc+memset with kzalloc 2006-12-07 02:14:19 +01:00
intel.c [PATCH] i386: i386 add Intel BTS cpufeature bit and detection (take 2) 2006-12-07 02:14:11 +01:00
Makefile [PATCH] i386: Clean up asm-i386/bugs.h 2007-05-02 19:27:12 +02:00
nexgen.c [PATCH] i386: mark cpu identify functions as __cpuinit 2006-09-26 10:52:36 +02:00
proc.c [PATCH] x86: remove constant_tsc reporting from /proc/cpuinfo' power flags 2007-05-02 19:27:09 +02:00
rise.c [PATCH] i386: mark cpu init functions as __cpuinit, data as __cpuinitdata 2006-09-26 10:52:36 +02:00
transmeta.c [PATCH] i386: Fix warning in cpu initialization 2007-02-13 13:26:25 +01:00
umc.c [PATCH] i386: mark cpu init functions as __cpuinit, data as __cpuinitdata 2006-09-26 10:52:36 +02:00