linux/arch/x86
venkatesh.pallipadi@intel.com 3869c4aa18 x86, PAT: Changing memtype to WC ensuring no WB alias
As per SDM, there should not be any aliasing of a WC with any cacheable
type across CPUs. That is if one CPU is changing the identity map
memtype to _WC, no other CPU at the time of this change should not have a
TLB for this page that carries a WB attribute. SDM suggests to make the
page not present. But for that we will have to handle any page faults
that can potentially happen due to these pages being not present.

Other way to deal with this without having any WB mapping is to change
the page first to UC and then to WC. This ensures that we meet the SDM
requirement of no cacheable alais to WC page. This also has same or
lower overhead than marking the page not present and making it present
later.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
LKML-Reference: <20090409212708.797481000@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-04-10 13:55:47 +02:00
..
boot x86, setup: un-resequence mode setting for VGA 80x34 and 80x60 modes 2009-04-07 10:59:25 -07:00
configs Merge branches 'x86/apic', 'x86/defconfig', 'x86/memtest', 'x86/mm' and 'linus' into x86/core 2009-02-26 06:31:32 +01:00
crypto crypto: aes-ni - Add support to Intel AES-NI instructions for x86_64 platform 2009-02-18 16:48:06 +08:00
ia32 preadv/pwritev: Add preadv and pwritev system calls. 2009-04-02 19:05:08 -07:00
include/asm x86: cpu_debug remove execute permission 2009-04-09 06:34:02 +02:00
kernel x86, intr-remap: fix eoi for interrupt remapping without x2apic 2009-04-10 13:12:17 +02:00
kvm Merge branch 'tracing/core-v2' into tracing-for-linus 2009-04-02 00:49:02 +02:00
lguest Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest-and-virtio 2009-03-30 17:57:39 -07:00
lib x86: memcpy, clean up 2009-03-12 12:21:17 +01:00
math-emu Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 2009-03-27 17:28:43 +01:00
mm x86, PAT: Changing memtype to WC ensuring no WB alias 2009-04-10 13:55:47 +02:00
oprofile cpumask: x86: convert cpu_sibling_map/cpu_core_map to cpumask_var_t 2009-03-13 14:49:50 +10:30
pci x86, PAT: Remove duplicate memtype reserve in pci mmap 2009-04-03 14:43:29 -07:00
power x86: disable stack-protector for __restore_processor_state() 2009-04-03 19:48:41 +02:00
vdso x86, mm: rename TASK_SIZE64 => TASK_SIZE_MAX 2009-02-21 00:09:44 +01:00
video
xen Merge branch 'linus' into cpumask-for-linus 2009-03-30 23:53:32 +02:00
Kconfig x86, intel-iommu: fix X2APIC && !ACPI build failure 2009-04-07 08:22:46 +02:00
Kconfig.cpu x86/centaur: merge 32 & 64 bit version 2009-03-14 16:27:29 +01:00
Kconfig.debug generic debug pagealloc: build fix 2009-04-02 19:04:48 -07:00
Makefile x86: use targets in the boot Makefile instead of CLEAN_FILES 2009-03-12 13:43:14 -07:00
Makefile_32.cpu