x86, 64bit: #PF handler set page to cover only 2M per #PF
authorYinghai Lu <yinghai@kernel.org>
Thu, 24 Jan 2013 20:19:53 +0000 (12:19 -0800)
committerH. Peter Anvin <hpa@linux.intel.com>
Tue, 29 Jan 2013 23:20:13 +0000 (15:20 -0800)
commit6b9c75aca6cba4d99a6e8d8274b1788d4d4b50d9
tree14ced936eace998f2ad86ab10573ed198ff955d2
parent8170e6bed465b4b0c7687f93e9948aca4358a33b
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>
arch/x86/kernel/head64.c