summaryrefslogtreecommitdiff
path: root/arch/parisc/include/asm/prefetch.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-05-19 15:30:15 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2012-05-19 15:30:15 -0700
commitd6c77973679d56a1834d8f8f9361f5fd0c7f4811 (patch)
tree494b4dd7bda7fb4f650645c7930f58dc185d29ae /arch/parisc/include/asm/prefetch.h
parent5d1204582e7bc0682fb019e5666bd62cc27260b4 (diff)
parentb3cb8674811d1851bbf1486a73d62b90c119b994 (diff)
Merge tag 'parisc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6
Pull PA-RISC fixes from James Bottomley: "This is a set of three bug fixes that gets parisc running again on systems with PA1.1 processors. Two fix regressions introduced in 2.6.39 and one fixes a prefetch bug that only affects PA7300LC processors. We also have another pending fix to do with the sectional arrangement of vmlinux.lds, but there's a query on it during testing on one particular system type, so I'll hold off sending it in for now." * tag 'parisc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6: [PARISC] fix panic on prefetch(NULL) on PA7300LC [PARISC] fix crash in flush_icache_page_asm on PA1.1 [PARISC] fix PA1.1 oops on boot
Diffstat (limited to 'arch/parisc/include/asm/prefetch.h')
-rw-r--r--arch/parisc/include/asm/prefetch.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/parisc/include/asm/prefetch.h b/arch/parisc/include/asm/prefetch.h
index c5edc60c059f..1ee7c82672c1 100644
--- a/arch/parisc/include/asm/prefetch.h
+++ b/arch/parisc/include/asm/prefetch.h
@@ -21,7 +21,12 @@
#define ARCH_HAS_PREFETCH
static inline void prefetch(const void *addr)
{
- __asm__("ldw 0(%0), %%r0" : : "r" (addr));
+ __asm__(
+#ifndef CONFIG_PA20
+ /* Need to avoid prefetch of NULL on PA7300LC */
+ " extrw,u,= %0,31,32,%%r0\n"
+#endif
+ " ldw 0(%0), %%r0" : : "r" (addr));
}
/* LDD is a PA2.0 addition. */