1
linux/arch/sparc64/kernel
David S. Miller 2f3a2efd85 [SPARC64]: Fix SBUS IOMMU allocation code.
There are several IOMMU allocator bugs.  Instead of trying to fix this
overly complicated code, just mirror the PCI IOMMU arena allocator
which is very stable and well stress tested.

I tried to make the code as identical as possible so we can switch
sun4u PCI and SBUS over to a common piece of IOMMU code.  All that
will be need are two callbacks, one to do a full IOMMU flush and one
to do a streaming buffer flush.

This patch gets rid of a lot of hangs and mysterious crashes on SBUS
sparc64 systems, at least for me.

Signed-off-by: David S. Miller <davem@davemloft.net>
2007-04-11 23:56:10 -07:00
..
asm-offsets.c
audit.c [PATCH] sparc64 audit syscall classes hookup 2006-09-12 03:05:05 -04:00
auxio.c Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
binfmt_aout32.c [PATCH] struct path: convert sparc64 2006-12-08 08:28:50 -08:00
binfmt_elf32.c [PATCH] elf: Always define elf_addr_t in linux/elf.h 2006-12-07 08:39:38 -08:00
central.c [SPARC64]: Fix central/FHC bus handling on Ex000 systems. 2006-10-25 22:39:15 -07:00
chmc.c [SPARC64]: Replace kmalloc+memset with kzalloc 2006-12-10 02:40:18 -08:00
compat_audit.c [PATCH] sparc64 audit syscall classes hookup 2006-09-12 03:05:05 -04:00
cpu.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
devices.c [SPARC]: Simplify and correct __cpu_find_by() 2006-07-21 14:18:15 -07:00
dtlb_miss.S
dtlb_prot.S
ebus.c [SPARC]: Fix bus_id[] string overflow. 2006-10-27 01:03:31 -07:00
entry.S [SPARC64]: Add irqtrace/stacktrace/lockdep support. 2006-12-10 02:39:09 -08:00
etrap.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
head.S [SPARC64]: Kill no-remapping-needed code in head.S 2006-12-17 14:06:55 -08:00
idprom.c
init_task.c [PATCH] nsproxy: move init_nsproxy into kernel/nsproxy.c 2006-10-02 07:57:20 -07:00
iommu_common.c
iommu_common.h
irq.c [SPARC64]: virt_irq_free only needed when CONFIG_PCI_MSI 2007-02-26 11:35:46 -08:00
isa.c [SPARC64]: Handle ISA devices with no 'regs' property. 2006-12-31 14:06:07 -08:00
itlb_miss.S
kprobes.c [SPARC64]: Fix several kprobes bugs. 2006-12-10 02:42:03 -08:00
ktlb.S [SPARC64]: Get DEBUG_PAGEALLOC working again. 2007-03-16 17:20:28 -07:00
Makefile [SPARC64]: Add irqtrace/stacktrace/lockdep support. 2006-12-10 02:39:09 -08:00
module.c [SPARC]: Handle UNWIND_INFO properly. 2006-05-12 12:45:50 -07:00
of_device.c [SPARC]: Handle unresolvable resources better in of_device.c 2007-03-02 15:22:50 -08:00
pci_common.c [SPARC64]: Add obppath sysfs attribute for SBUS and PCI devices. 2007-02-10 23:50:35 -08:00
pci_impl.h [SPARC64]: Convert sparc64 PCI layer to in-kernel device tree. 2006-06-23 23:15:26 -07:00
pci_iommu.c [SPARC64]: Fix memory corruption in pci_4u_free_consistent(). 2006-10-25 22:39:16 -07:00
pci_psycho.c [PATCH] sparc64 pt_regs fixes 2006-10-08 12:32:35 -07:00
pci_sabre.c [SPARC64]: Compute dma_end argument to sabre_pbm_init() correctly. 2006-10-19 17:20:30 -07:00
pci_schizo.c [PATCH] sparc64 pt_regs fixes 2006-10-08 12:32:35 -07:00
pci_sun4v_asm.S [SPARC64]: Add PCI MSI support on Niagara. 2007-02-10 23:50:37 -08:00
pci_sun4v.c [SPARC64]: Add PCI MSI support on Niagara. 2007-02-10 23:50:37 -08:00
pci_sun4v.h [SPARC64]: Add PCI MSI support on Niagara. 2007-02-10 23:50:37 -08:00
pci.c [SPARC]: Provide pci_device_to_OF_node() just like powerpc. 2007-03-02 15:22:51 -08:00
power.c [PATCH] sparc64 pt_regs fixes 2006-10-08 12:32:35 -07:00
process.c [SPARC64]: Fix atomicity of TIF update in flush_thread() 2007-03-10 00:19:49 -08:00
prom.c [SPARC64]: Fix Tomatillo/Schizo IRQ handling. 2006-10-30 19:33:33 -08:00
ptrace.c [SPARC{32,64}]: Propagate ptrace_traceme() return value. 2006-12-10 02:40:27 -08:00
rtrap.S [SPARC64]: Add irqtrace/stacktrace/lockdep support. 2006-12-10 02:39:09 -08:00
sbus.c [SPARC64]: Fix SBUS IOMMU allocation code. 2007-04-11 23:56:10 -07:00
semaphore.c
setup.c [PATCH] Dynamic kernel command-line: sparc64 2007-02-12 09:48:39 -08:00
signal32.c [SPARC64]: Move signal compat bits to new header file. 2006-10-02 14:24:18 -07:00
signal.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
smp.c [PATCH] Change cpu_up and co from __devinit to __cpuinit 2007-01-11 18:18:20 -08:00
sparc64_ksyms.c [SPARC]: Re-export saved_command_line to modules. 2007-02-12 15:15:48 -08:00
stacktrace.c [SPARC64]: Add irqtrace/stacktrace/lockdep support. 2006-12-10 02:39:09 -08:00
starfire.c [SPARC64]: Kill starfire_cookie from SBUS/PCI. 2006-06-29 16:37:08 -07:00
sun4v_ivec.S [SPARC64]: Add irqtrace/stacktrace/lockdep support. 2006-12-10 02:39:09 -08:00
sun4v_tlb_miss.S [SPARC64]: Set g4/g5 properly in sun4v dtlb-prot handling. 2007-01-26 18:56:01 -08:00
sunos_ioctl32.c [PATCH] consolidate line discipline number definitions 2007-02-11 10:51:26 -08:00
sys32.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sys_sparc32.c [PATCH] Common compat_sys_sysinfo 2007-02-11 10:51:32 -08:00
sys_sparc.c [PATCH] provide kernel_execve on all architectures 2006-10-02 07:57:23 -07:00
sys_sunos32.c [PATCH] signal: use kill_pgrp not kill_pg in the sunos compatibility code 2007-02-12 09:48:31 -08:00
systbls.S [SPARC]: Hook up missing syscalls. 2007-03-12 19:58:18 -07:00
time.c [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
trampoline.S
traps.c [SPARC64]: Run ctrl-alt-del action for sun4v powerdown request. 2006-12-10 02:39:51 -08:00
tsb.S [SPARC64]: store-init needs trailing membar. 2007-03-19 13:27:33 -07:00
ttable.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
una_asm.S
unaligned.c [SPARC64]: Unaligned accesses to userspace are hard errors. 2006-12-10 02:39:39 -08: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]: Call do_mathemu on illegal instruction traps too. 2006-12-10 02:39:32 -08:00
vmlinux.lds.S [PATCH] disable init/initramfs.c: architectures 2007-02-11 10:51:25 -08:00
winfixup.S