projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
08dcf29
)
x86: fix prefetch workaround
author
Ingo Molnar
<mingo@elte.hu>
Thu, 27 Mar 2008 14:58:28 +0000
(15:58 +0100)
committer
Ingo Molnar
<mingo@elte.hu>
Thu, 27 Mar 2008 15:08:44 +0000
(16:08 +0100)
some early Athlon XP's and Opterons generate bogus faults on prefetch
instructions. The workaround for this regressed over .24 - reinstate it.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/mm/fault.c
patch
|
blob
|
history
diff --git
a/arch/x86/mm/fault.c
b/arch/x86/mm/fault.c
index fdc667422df9913f2f5d861a3e80fad14eab7f4d..c0c82bc143c98966e9e5e88634560096b5ae4923 100644
(file)
--- a/
arch/x86/mm/fault.c
+++ b/
arch/x86/mm/fault.c
@@
-92,7
+92,8
@@
static int is_prefetch(struct pt_regs *regs, unsigned long addr,
unsigned char *max_instr;
#ifdef CONFIG_X86_32
- if (!(__supported_pte_mask & _PAGE_NX))
+ /* Catch an obscure case of prefetch inside an NX page: */
+ if ((__supported_pte_mask & _PAGE_NX) && (error_code & 16))
return 0;
#endif