diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-11-01 09:38:20 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-11-01 09:38:20 -0500 |
| commit | 4b1c46a383aafc137bc91a0f9698bfc11e062d1b (patch) | |
| tree | dd8b793c534b6f83cc16f38ba96d0ff4722a7344 /include/asm-powerpc/io.h | |
| parent | 30574b61611ccd29677989097f8c8a5d9a73d873 (diff) | |
| parent | 4393c4f6788cee65095dd838cfeca6edefbfeb52 (diff) | |
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.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/asm-powerpc/io.h b/include/asm-powerpc/io.h index 3baff8b0fd5a..c2c5f14b5f5f 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); | |||
| 163 | 163 | ||
| 164 | static inline void mmiowb(void) | 164 | static inline void mmiowb(void) |
| 165 | { | 165 | { |
| 166 | __asm__ __volatile__ ("sync" : : : "memory"); | 166 | unsigned long tmp; |
| 167 | get_paca()->io_sync = 0; | 167 | |
| 168 | __asm__ __volatile__("sync; li %0,0; stb %0,%1(13)" | ||
| 169 | : "=&r" (tmp) : "i" (offsetof(struct paca_struct, io_sync)) | ||
| 170 | : "memory"); | ||
| 168 | } | 171 | } |
| 169 | 172 | ||
| 170 | /* | 173 | /* |
