linux/arch/x86
Yinghai Lu 6b9c75aca6 x86, 64bit: #PF handler set page to cover only 2M per #PF
We only map a single 2 MiB page per #PF, even though we should be able
to do this a full gigabyte at a time with no additional memory cost.
This is a workaround for a broken AMD reference BIOS (and its
derivatives in shipping system) which maps a large chunk of memory as
WB in the MTRR system but will #MC if the processor wanders off and
tries to prefetch that memory, which can happen any time the memory is
mapped in the TLB.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Link: http://lkml.kernel.org/r/1359058816-7615-13-git-send-email-yinghai@kernel.org
Cc: Alexander Duyck <alexander.h.duyck@intel.com>
[ hpa: rewrote the patch description ]
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2013-01-29 15:20:13 -08:00
..
boot x86, boot: Sanitize boot_params if not zeroed on creation 2013-01-29 01:22:17 -08:00
configs
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2012-12-15 12:35:19 -08:00
ia32 new helpers: __save_altstack/__compat_save_altstack, switch x86 and um to those 2012-12-19 18:07:41 -05:00
include x86, 64bit: Use a #PF handler to materialize early mappings on demand 2013-01-29 15:20:06 -08:00
kernel x86, 64bit: #PF handler set page to cover only 2M per #PF 2013-01-29 15:20:13 -08:00
kvm KVM: x86: use dynamic percpu allocations for shared msrs area 2013-01-08 12:51:56 -02:00
lguest
lib X86: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
math-emu
mm x86, 64bit: Use a #PF handler to materialize early mappings on demand 2013-01-29 15:20:06 -08:00
net
oprofile
pci X86: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
platform Merge remote-tracking branch 'origin/x86/boot' into x86/mm2 2013-01-29 15:10:15 -08:00
power
realmode x86, realmode: Separate real_mode reserve and setup 2013-01-29 15:13:24 -08:00
syscalls Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-20 18:05:28 -08:00
tools x86/boot: Fix minor fd leakage in tools/relocs.c 2013-01-27 10:24:28 -08:00
um Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-20 18:05:28 -08:00
vdso Merge tag 'kvm-3.8-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2012-12-13 15:31:08 -08:00
video
xen Merge remote-tracking branch 'origin/x86/boot' into x86/mm2 2013-01-29 15:10:15 -08:00
.gitignore
Kbuild
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-20 18:05:28 -08:00
Kconfig.cpu
Kconfig.debug
Makefile md update for 3.8 2012-12-18 09:32:44 -08:00
Makefile_32.cpu
Makefile.um