summaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc/io.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-11-01 06:38:20 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-11-01 06:38:20 -0800
commit4b1c46a383aafc137bc91a0f9698bfc11e062d1b (patch)
treedd8b793c534b6f83cc16f38ba96d0ff4722a7344 /include/asm-powerpc/io.h
parent30574b61611ccd29677989097f8c8a5d9a73d873 (diff)
parent4393c4f6788cee65095dd838cfeca6edefbfeb52 (diff)
downloadkernel-crypto-4b1c46a383aafc137bc91a0f9698bfc11e062d1b.tar.gz
kernel-crypto-4b1c46a383aafc137bc91a0f9698bfc11e062d1b.tar.xz
kernel-crypto-4b1c46a383aafc137bc91a0f9698bfc11e062d1b.zip
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Make alignment exception always check exception table [POWERPC] Disallow kprobes on emulate_step and branch_taken [POWERPC] Make mmiowb's io_sync preempt safe [POWERPC] Make high hugepage areas preempt safe [POWERPC] Make current preempt-safe [POWERPC] qe_lib: qe_issue_cmd writes wrong value to CECDR [POWERPC] Use 4kB iommu pages even on 64kB-page systems [POWERPC] Fix oprofile support for e500 in arch/powerpc [POWERPC] Fix rmb() for e500-based machines it [POWERPC] Fix various offb issues
Diffstat (limited to 'include/asm-powerpc/io.h')
-rw-r--r--include/asm-powerpc/io.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/asm-powerpc/io.h b/include/asm-powerpc/io.h
index 3baff8b0fd5..c2c5f14b5f5 100644
--- a/include/asm-powerpc/io.h
+++ b/include/asm-powerpc/io.h
@@ -163,8 +163,11 @@ extern void _outsl_ns(volatile u32 __iomem *port, const void *buf, long count);
static inline void mmiowb(void)
{
- __asm__ __volatile__ ("sync" : : : "memory");
- get_paca()->io_sync = 0;
+ unsigned long tmp;
+
+ __asm__ __volatile__("sync; li %0,0; stb %0,%1(13)"
+ : "=&r" (tmp) : "i" (offsetof(struct paca_struct, io_sync))
+ : "memory");
}
/*