android_kernel_oneplus_msm8998/arch
Mark Langsdorf fe2245c905 x86: enable GART-IOMMU only after setting up protection methods
The current code to set up the GART as an IOMMU enables GART
translations before it removes the aperture from the kernel memory
map, sets the GART PTEs to UC, sets up the guard and scratch
pages, or does a wbinvd().  This leaves the possibility of cache
aliasing open and can cause system crashes.

Re-order the code so as to enable the GART translations only
after all safeguards are in place and the tlb has been flushed.

AMD has tested this patch on both Istanbul systems and 1st
generation Opteron systems with APG enabled and seen no adverse
effects.  Istanbul systems with HT Assist enabled sometimes
see MCE errors due to cache artifacts with the unmodified
code.

Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
Cc: <stable@kernel.org>
Cc: Joerg Roedel <joerg.roedel@amd.com>
Cc: akpm@linux-foundation.org
Cc: jbarnes@virtuousgeek.org
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-06-06 09:42:09 +02:00
..
alpha alpha: binfmt_aout fix 2009-05-02 15:36:10 -07:00
arm [ARM] 5507/1: support R_ARM_MOVW_ABS_NC and MOVT_ABS relocation types 2009-05-07 17:21:01 +01:00
avr32 avr32: drop unused CLEAN_FILES 2009-05-01 10:54:00 +02:00
blackfin
cris
frv FRV: Use __INIT macro instead of .text.init. 2009-04-27 19:46:30 -07:00
h8300
ia64 [IA64] xen_domu_defconfig: fix build issues/warnings 2009-05-05 11:43:13 -07:00
m32r m32r: use __stringify() macro in assembler.h 2009-05-02 22:38:21 +09:00
m68k m68k: arch/m68k/kernel/sun3-head.S needs <linux/init.h> 2009-04-28 16:07:18 -07:00
m68knommu Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu 2009-04-24 08:45:53 -07:00
microblaze Merge branch 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze 2009-05-08 16:24:25 -07:00
mips
mn10300 mn10300: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:38 -07:00
parisc
powerpc Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2009-05-05 08:25:37 -07:00
s390 s390: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:39 -07:00
sh sh: Use __INIT macro instead of .text.init. 2009-04-27 19:51:58 -07:00
sparc sparc: cleanup references to deprecated .text.init* sections. 2009-04-27 19:51:58 -07:00
um
x86 x86: enable GART-IOMMU only after setting up protection methods 2009-06-06 09:42:09 +02:00
xtensa xtensa: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:38 -07:00
.gitignore
Kconfig