linux/arch/x86/kernel/cpu
Yinghai Lu 38cc1c3df7 x86: work around MTRR mask setting
Joshua Hoblitt reported that only 3 GB of his 16 GB of RAM is
usable. Booting with mtrr_show showed us the BIOS-initialized
MTRR settings - which are all wrong.

So the root cause is that the BIOS has not set the mask correctly:

>               [    0.429971]  MSR00000200: 00000000d0000000
>               [    0.433305]  MSR00000201: 0000000ff0000800
> should be ==> [    0.433305]  MSR00000201: 0000003ff0000800
>
>               [    0.436638]  MSR00000202: 00000000e0000000
>               [    0.439971]  MSR00000203: 0000000fe0000800
> should be ==> [    0.439971]  MSR00000203: 0000003fe0000800
>
>               [    0.443304]  MSR00000204: 0000000000000006
>               [    0.446637]  MSR00000205: 0000000c00000800
> should be ==> [    0.446637]  MSR00000205: 0000003c00000800
>
>               [    0.449970]  MSR00000206: 0000000400000006
>               [    0.453303]  MSR00000207: 0000000fe0000800
> should be ==> [    0.453303]  MSR00000207: 0000003fe0000800
>
>               [    0.456636]  MSR00000208: 0000000420000006
>               [    0.459970]  MSR00000209: 0000000ff0000800
> should be ==> [    0.459970]  MSR00000209: 0000003ff0000800

So detect this borkage and add the prefix 111.

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-08-22 05:49:35 +02:00
..
cpufreq [CPUFREQ][2/2] preregister support for powernow-k8 2008-08-08 16:00:49 -04:00
mcheck Merge branch 'cpus4096-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-07-23 18:37:44 -07:00
mtrr x86: work around MTRR mask setting 2008-08-22 05:49:35 +02:00
addon_cpuid_features.c x86: PAT Update validate_pat_support for intel CPUs 2008-08-21 13:27:34 +02:00
amd_64.c x86_64: further cleanup of 32-bit compat syscall mechanisms 2008-07-16 11:08:27 +02:00
amd.c x86: reduce force_mwait visibility 2008-07-18 15:55:09 -07:00
bugs_64.c x86: move bugs_64.c to cpu/bugs_64.c 2008-06-03 14:43:00 -07:00
bugs.c x86: fdiv bug detection fix 2008-07-31 23:56:27 +02:00
centaur_64.c x86: get x86_phys_bits early 2008-07-14 09:24:16 +02:00
centaur.c x86: clean up cpu capabilities accesses, centaur.c 2008-04-17 17:40:51 +02:00
common_64.c Merge branches 'x86/urgent', 'x86/amd-iommu', 'x86/apic', 'x86/cleanups', 'x86/core', 'x86/cpu', 'x86/fixmap', 'x86/gart', 'x86/kprobes', 'x86/memtest', 'x86/modules', 'x86/nmi', 'x86/pat', 'x86/reboot', 'x86/setup', 'x86/step', 'x86/unify-pci', 'x86/uv', 'x86/xen' and 'xen-64bit' into x86/for-linus 2008-07-21 16:37:17 +02:00
common.c x86: change identify_cpu to static 2008-07-08 12:48:35 +02:00
cpu.h x86: make 64-bit identify_cpu use cpu_dev 2008-07-08 07:47:39 +02:00
cyrix.c x86: fix "kernel won't boot on a Cyrix MediaGXm (Geode)" 2008-08-20 11:31:00 +02:00
feature_names.c x86: arch/x86/kernel/cpu/feature_names.c - use angle brackets for include 2008-04-17 17:40:57 +02:00
intel_64.c x86: get x86_phys_bits early 2008-07-14 09:24:16 +02:00
intel_cacheinfo.c cpumask: change cpumask_of_cpu_ptr to use new cpumask_of_cpu 2008-07-26 16:40:33 +02:00
intel.c x86: APIC: remove apic_write_around(); use alternatives 2008-07-18 12:51:21 +02:00
Makefile x86: seperate funcs from setup_64 to cpu common_64.c 2008-07-08 12:48:34 +02:00
perfctr-watchdog.c x86, perfctr: don't use CCCR_OVF_PMI1 on Pentium 4Ds 2008-08-15 13:58:33 +02:00
proc.c NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/proc.c 2008-07-20 10:21:09 +02:00
transmeta.c x86: clean up cpu capabilities accesses, transmeta.c 2008-04-17 17:40:51 +02:00
umc.c x86: coding style fixes to arch/x86/kernel/cpu/umc.c 2008-04-17 17:40:49 +02:00