linux/arch
Ingo Molnar ed5e233284 x86, voyager: fix ioremap_nocache()
James Bottomley reported that the following commit:

| commit 6371b49599
| Author: Ingo Molnar <mingo@elte.hu>
| Date:   Wed Jan 30 13:33:40 2008 +0100
|
|     x86: change ioremap() to default to uncached

broke Voyager.

James says:

" it broke a class of voyager machines: those which
  rely on the quad interrupt controller (QIC).  The precis of why they
  broke is because the QIC does IPIs (or CPIs in its terminology) via
  cache line interference: you interrupt a processor by moving a
  designated memory area to write exclusive in the cache (by simply
  writing to the line) and the CPU acks the interrupt by moving it back to
  read shared (by reading from it).  That area, is, of course, mapped by
  ioremap, so reversing the ioremap semantics and adding the uncached bit
  completely breaks the QIC. "

Sorry about that!

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-04-30 23:15:34 +02:00
..
alpha alpha: use kbuild.h instead of macros in asm-offsets.c 2008-04-29 08:06:29 -07:00
arm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-04-30 08:45:48 -07:00
avr32 avr32: use kbuild.h macros instead of defining macros in asm-offsets.c 2008-04-29 08:06:29 -07:00
blackfin i2c: Convert most new-style drivers to use module aliasing 2008-04-29 23:11:40 +02:00
cris cris: use non-racy method for /proc/system_profile creation 2008-04-29 08:06:21 -07:00
frv Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2008-04-30 11:52:52 -07:00
h8300 h8300: use kbuild.h instead of defining macros in asm-offsets.c 2008-04-29 08:06:30 -07:00
ia64 tty: The big operations rework 2008-04-30 08:29:47 -07:00
m32r Generic semaphore implementation 2008-04-17 10:42:34 -04:00
m68k m68k: Export empty_zero_page for ZERO_PAGE usage in modules. 2008-04-29 08:11:12 -04:00
m68knommu m68k/m68kmmu: use kbuild.h instead of defining macros in asm-offsets.c 2008-04-29 08:06:30 -07:00
mips Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2008-04-30 11:52:52 -07:00
mn10300 mn10300: use kbuild.h instead of defining macros in asm-offsets.c 2008-04-29 08:06:30 -07:00
parisc parisc: use kbuild.h instead of defining macros in asm-offsets.c 2008-04-29 08:06:30 -07:00
powerpc Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-04-30 08:37:40 -07:00
ppc Basic braille screen reader support 2008-04-30 08:29:52 -07:00
s390 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2008-04-30 08:38:30 -07:00
sh i2c: Convert most new-style drivers to use module aliasing 2008-04-29 23:11:40 +02:00
sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-04-30 08:46:16 -07:00
sparc64 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-04-30 08:46:16 -07:00
um proc: remove proc_root from drivers 2008-04-29 08:06:18 -07:00
v850 v850: use kbuild.h instead of defining macros in asm-offsets.c 2008-04-29 08:06:30 -07:00
x86 x86, voyager: fix ioremap_nocache() 2008-04-30 23:15:34 +02:00
xtensa xtensa: use kbuild.h macros instead of defining them in asm-offsets.c 2008-04-29 08:06:29 -07:00
.gitignore arch: Ignore arch/i386 and arch/x86_64 2008-01-19 21:29:39 -08:00
Kconfig dma: add dma_*map*_attrs() interfaces 2008-04-29 08:06:11 -07:00