linux/arch/sparc64/kernel
David S. Miller c2a5a46be4 [SPARC64]: Fix for Niagara memory corruption.
On some sun4v systems, after netboot the ethernet controller and it's
DMA mappings can be left active.  The net result is that the kernel
can end up using memory the ethernet controller will continue to DMA
into, resulting in corruption.

To deal with this, we are more careful about importing IOMMU
translations which OBP has left in the IO-TLB.  If the mapping maps
into an area the firmware claimed was free and available memory for
the kernel to use, we demap instead of import that IOMMU entry.

This is going to cause the network chip to take a PCI master abort on
the next DMA it attempts, if it has been left going like this.  All
tests show that this is handled properly by the PCI layer and the e1000
drivers.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-06-23 23:15:21 -07:00
..
asm-offsets.c kbuild: frv,m32r,sparc64 introduce fake asm-offsets.h file 2005-09-09 22:47:53 +02:00
auxio.c [SPARC64]: Get rid of fast IRQ feature. 2005-06-27 17:04:45 -07:00
binfmt_aout32.c [SPARC64]: Top-down address space allocation for 32-bit tasks. 2006-03-20 01:16:35 -08:00
binfmt_elf32.c [SPARC64]: Increase top of 32-bit process stack. 2006-03-20 01:16:36 -08:00
central.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
chmc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpu.c [SPARC64]: kernel/cpu.c needs asm/spitfire.h 2006-03-20 01:12:05 -08:00
devices.c [SPARC64]: Convert cpu_find_by_*() interface to in-kernel PROM device tree. 2006-06-23 23:15:17 -07:00
dtlb_miss.S [SPARC64]: More TLB/TSB handling fixes. 2006-03-20 01:13:34 -08:00
dtlb_prot.S [SPARC64]: Fix boot failures on SunBlade-150 2005-10-12 12:22:46 -07:00
ebus.c [SPARC64]: kzalloc() conversion 2006-03-20 01:14:19 -08:00
entry.S [SPARC64]: Move over to GENERIC_HARDIRQS. 2006-06-20 01:23:32 -07:00
etrap.S [SPARC64]: Fix tl1 trap state capture/dump on SUN4V. 2006-03-20 01:13:12 -08:00
head.S [SPARC64]: Make smp_processor_id() functional before start_kernel() 2006-05-31 01:24:02 -07:00
idprom.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
init_task.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu_common.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu_common.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.c [SPARC64]: Move over to GENERIC_HARDIRQS. 2006-06-20 01:23:32 -07:00
isa.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
itlb_miss.S [SPARC64]: Fix _PAGE_EXEC handling. 2006-03-20 01:14:13 -08:00
kprobes.c [PATCH] Switch Kprobes inline functions to __kprobes for sparc64 2006-04-19 09:13:53 -07:00
ktlb.S [SPARC64]: Fix indexing into kpte_linear_bitmap. 2006-03-20 01:14:07 -08:00
Makefile [SPARC64]: Import OBP device tree into kernel data structures. 2006-06-23 23:15:02 -07:00
module.c [SPARC]: Handle UNWIND_INFO properly. 2006-05-12 12:45:50 -07:00
pci_common.c [SPARC64]: Disable verbose PCI IRQ probing messages by default. 2006-06-23 23:15:09 -07:00
pci_impl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_iommu.c [SPARC64]: Respect gfp_t argument to dma_alloc_coherent(). 2006-05-23 02:07:22 -07:00
pci_psycho.c [SPARC64]: Use in-kernel OBP device tree for PCI controller probing. 2006-06-23 23:15:07 -07:00
pci_sabre.c [SPARC64]: Convert cpu_find_by_*() interface to in-kernel PROM device tree. 2006-06-23 23:15:17 -07:00
pci_schizo.c [SPARC64]: Use in-kernel OBP device tree for PCI controller probing. 2006-06-23 23:15:07 -07:00
pci_sun4v_asm.S [SPARC64]: Remove PGLIST_NENTS PCI IOMMU mapping limitation on SUN4V. 2006-03-20 01:13:41 -08:00
pci_sun4v.c [SPARC64]: Fix for Niagara memory corruption. 2006-06-23 23:15:21 -07:00
pci_sun4v.h [SPARC64]: Remove PGLIST_NENTS PCI IOMMU mapping limitation on SUN4V. 2006-03-20 01:13:41 -08:00
pci.c [SPARC64]: Disable verbose PCI IRQ probing messages by default. 2006-06-23 23:15:09 -07:00
power.c [SPARC64]: Add needed pm_power_off symbol. 2006-01-09 14:12:50 -08:00
process.c [SPARC64]: Use sun4v_cpu_idle() in cpu_idle() on SUN4V. 2006-03-20 01:13:54 -08:00
prom.c [SPARC64]: Add of_getintprop_default(). 2006-06-23 23:15:15 -07:00
ptrace.c [PATCH] drop task argument of audit_syscall_{entry,exit} 2006-05-01 06:06:18 -04:00
rtrap.S [SPARC64]: Drop %gl to 0 before re-enabling PSTATE_IE in rtrap 2006-03-20 01:13:57 -08:00
sbus.c [SBUS]: Start cleaning up generic sbus support layer. 2006-06-23 23:15:00 -07:00
semaphore.c [SPARC64]: Avoid membar instructions in delay slots. 2005-06-27 15:42:04 -07:00
setup.c [SPARC64]: Make smp_processor_id() functional before start_kernel() 2006-05-31 01:24:02 -07:00
signal32.c [SPARC]: Add support for *at(), ppoll, and pselect syscalls. 2006-01-19 02:42:49 -08:00
signal.c [SPARC]: Add support for *at(), ppoll, and pselect syscalls. 2006-01-19 02:42:49 -08:00
smp.c [SPARC64]: Convert cpu_find_by_*() interface to in-kernel PROM device tree. 2006-06-23 23:15:17 -07:00
sparc64_ksyms.c [SPARC64]: Don't double-export synchronize_irq. 2006-06-20 01:23:56 -07:00
starfire.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sun4v_ivec.S [SPARC64]: Move over to GENERIC_HARDIRQS. 2006-06-20 01:23:32 -07:00
sun4v_tlb_miss.S [SPARC64]: Add a secondary TSB for hugepage mappings. 2006-03-22 01:15:14 -08:00
sunos_ioctl32.c [SPARC]: Kill remaining kbio.h references. 2005-11-07 14:12:21 -08:00
sys32.S [SPARC]: Hook up vmsplice into syscall tables. 2006-05-03 13:55:46 -07:00
sys_sparc32.c [SPARC]: Wire up sys_sync_file_range() into syscall tables. 2006-03-31 23:49:34 -08:00
sys_sparc.c [SPARC64]: Randomize mm->mmap_base when PF_RANDOMIZE is set. 2006-03-20 01:16:37 -08:00
sys_sunos32.c [PATCH] capable/capability.h (arch/) 2006-01-11 18:42:14 -08:00
systbls.S [SPARC]: Add robust futex syscall entries. 2006-05-21 21:22:53 -07:00
time.c [SPARC64]: Convert cpu_find_by_*() interface to in-kernel PROM device tree. 2006-06-23 23:15:17 -07:00
trampoline.S [SPARC64]: Get SUN4V SMP working. 2006-03-20 01:13:22 -08:00
traps.c [SPARC64]: Convert cpu_find_by_*() interface to in-kernel PROM device tree. 2006-06-23 23:15:17 -07:00
tsb.S [SPARC64]: Add a secondary TSB for hugepage mappings. 2006-03-22 01:15:14 -08:00
ttable.S [SPARC64]: Send all device interrupts via one PIL. 2006-06-20 01:20:00 -07:00
una_asm.S [SPARC64]: Mark __ex_table section correctly. 2006-03-04 23:23:56 -08:00
unaligned.c [SPARC64]: Rate limited kernel unaligned trap logging, ala IA64. 2006-06-23 23:15:11 -07:00
us2e_cpufreq.c [SPARC64]: kzalloc() conversion 2006-03-20 01:14:19 -08:00
us3_cpufreq.c [SPARC64]: kzalloc() conversion 2006-03-20 01:14:19 -08:00
visemul.c [SPARC64]: First cut at VIS simulator for Niagara. 2006-03-20 01:14:26 -08:00
vmlinux.lds.S [SPARC64]: Rename gl_{1,2}insn_patch --> sun4v_{1,2}insn_patch 2006-03-20 01:11:53 -08:00
winfixup.S [SPARC64]: Fix unaligned access winfxup handling on SUN4V. 2006-03-20 01:13:39 -08:00