linux/arch/sparc64/kernel
FUJITA Tomonori f088025729 sparc64: add the segment boundary checking to IOMMUs while merging SG entries
Some IOMMUs allocate memory areas spanning LLD's segment boundary limit.  It
forces low level drivers to have a workaround to adjust scatter lists that the
IOMMU builds.  We are in the process of making all the IOMMUs respect the
segment boundary limits to remove such work around in LLDs.

SPARC64 IOMMUs were rewritten to use the IOMMU helper functions and the commit
89c94f2f70 made the IOMMUs not allocate memory
areas spanning the segment boundary limit.

However, SPARC64 IOMMUs allocate memory areas first then try to merge them
(while some IOMMUs walk through all the sg entries to see how they can be
merged first and allocate memory areas).  So SPARC64 IOMMUs also need the
boundary limit checking when they try to merge sg entries.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-03-28 15:55:41 -07:00
..
asm-offsets.c
audit.c [PATCH] audit signal recipients 2007-05-11 05:38:25 -04:00
auxio.c [SPARC/64]: Move of_platform_driver initialisations: arch/sparc{,64}. 2007-10-13 21:53:12 -07:00
binfmt_aout32.c aout: suppress A.OUT library support if !CONFIG_ARCH_SUPPORTS_AOUT 2008-02-08 09:22:30 -08:00
central.c [SPARC64]: __inline__ --> inline 2007-10-27 00:13:04 -07:00
chmc.c [SPARC64]: Fix memory controller register access when non-SMP. 2007-12-07 01:10:14 -08:00
compat_audit.c [PATCH] add SIGNAL syscall class (v3) 2007-05-11 05:38:25 -04:00
cpu.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/{cpu,setup}.c 2008-03-25 21:51:40 -07:00
ds.c [SPARC64]: Use shorter list_splice_init() for brevity. 2008-03-23 22:48:29 -07:00
dtlb_miss.S
dtlb_prot.S
ebus.c [SPARC]: Fix EBUS use of uninitialized variable. 2007-09-27 13:09:28 -07:00
entry.h [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/signal.c 2008-03-26 01:52:18 -07:00
entry.S [SPARC64]: Make save_stack_trace() more efficient. 2008-03-24 20:06:24 -07:00
etrap.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
head.S [SPARC64]: Remove most limitations to kernel image size. 2008-03-21 17:01:38 -07:00
hvapi.c [SPARC64]: Report proper system soft state to the hypervisor. 2007-05-29 02:49:29 -07:00
hvtramp.S [SPARC64]: Fix cpu trampoline et al. mismatch warnings. 2008-02-20 22:22:16 -08:00
idprom.c
init_task.c Remove fs.h from mm.h 2007-07-29 17:09:29 -07:00
iommu_common.h sparc64: add the segment boundary checking to IOMMUs while merging SG entries 2008-03-28 15:55:41 -07:00
iommu.c sparc64: add the segment boundary checking to IOMMUs while merging SG entries 2008-03-28 15:55:41 -07:00
irq.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/irq.c 2008-03-26 00:37:51 -07:00
isa.c [SPARC64]: Add missing pci_dev_put 2007-12-05 05:37:57 -08:00
itlb_miss.S [SPARC64]: Fix _PAGE_EXEC_4U check in sun4u I-TLB miss handler. 2007-05-29 02:50:15 -07:00
kprobes.c [SPARC64]: Fix sparse warnings wrt. __show_regs(). 2008-02-19 20:48:58 -08:00
ktlb.S [SPARC64]: Fix build with SPARSEMEM_VMEMMAP disabled. 2008-01-12 21:52:16 -08:00
ldc.c [SPARC64]: Missing mdesc_release() in ldc_init(). 2007-12-05 05:37:55 -08:00
Makefile [SPARC64]: Make use of the new fs/compat_binfmt_elf.c 2008-02-08 00:08:10 -08:00
mdesc.c [SPARC64]: Fix section mismatchs from dr_cpu_data 2008-02-24 19:47:51 -08:00
module.c [SPARC]: Remove duplicate includes. 2007-11-06 21:23:11 -08:00
of_device.c [SPARC]: Remove of_platform_device_create 2008-02-09 03:49:58 -08:00
pci_common.c [SPARC64]: Check of_get_property() return in pci_determine_mem_io_space(). 2007-10-17 16:25:10 -07:00
pci_fire.c [SPARC64]: Fix of section mismatch warnings. 2008-01-21 22:34:30 -08:00
pci_impl.h [SPARC64]: Kill pci_memspace_mask. 2007-10-13 21:53:14 -07:00
pci_msi.c [SPARC64]: Stop using __do_IRQ(). 2007-10-22 02:16:45 -07:00
pci_psycho.c [SPARC64]: Fix of section mismatch warnings. 2008-01-21 22:34:30 -08:00
pci_sabre.c [SPARC64]: Fix of section mismatch warnings. 2008-01-21 22:34:30 -08:00
pci_schizo.c [SPARC64]: Fix of section mismatch warnings. 2008-01-21 22:34:30 -08: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 the segment boundary checking to IOMMUs while merging SG entries 2008-03-28 15:55:41 -07:00
pci_sun4v.h [SPARC64]: Add PCI MSI support on Niagara. 2007-02-10 23:50:37 -08:00
pci.c [SPARC64]: Kill pcic_present(). 2008-02-18 16:40:10 -08:00
power.c [SPARC64]: Fix sparse warnings wrt. machine_alt_power_off(). 2008-02-19 20:39:18 -08:00
process.c [SPARC64]: exec PT_DTRACE 2008-03-23 22:50:16 -07:00
prom.c [SPARC64]: Always register a PROM based early console. 2008-02-17 23:22:50 -08:00
ptrace.c [SPARC64]: flush_ptrace_access() needs preemption disable. 2008-03-26 04:51:12 -07:00
rtrap.S [SPARC64]: Add irqtrace/stacktrace/lockdep support. 2006-12-10 02:39:09 -08:00
sbus.c [SPARC64]: Fix conflicts in SBUS/PCI/EBUS/ISA DMA handling. 2007-07-30 00:27:34 -07:00
semaphore.c [SPARC64]: __inline__ --> inline 2007-10-27 00:13:04 -07:00
setup.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/{cpu,setup}.c 2008-03-25 21:51:40 -07:00
signal32.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
signal.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/signal.c 2008-03-26 01:52:18 -07:00
smp.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/time.c 2008-03-26 01:11:55 -07:00
sparc64_ksyms.c [SPARC]: Kill 'prom_palette'. 2008-02-18 15:28:16 -08:00
sstate.c [SPARC64]: Report proper system soft state to the hypervisor. 2007-05-29 02:49:29 -07:00
stacktrace.c [SPARC64]: Make save_stack_trace() more efficient. 2008-03-24 20:06:24 -07:00
starfire.c
sun4v_ivec.S [SPARC64]: Use sun4v VIRQ interfaces as intended. 2007-10-13 21:53:16 -07:00
sun4v_tlb_miss.S [SPARC64]: Fix hypervisor TLB operation error reporting. 2008-01-17 06:26:55 -08:00
sunos_ioctl32.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
sys32.S [SPARC64]: Fix arg passing to compat_sys_ipc(). 2007-04-13 13:27:08 -07:00
sys_sparc32.c [SPARC64]: exec PT_DTRACE 2008-03-23 22:50:16 -07:00
sys_sparc.c [SPARC64]: Fix most sparse warnings in arch/sparc64/kernel/sys_sparc.c 2008-03-26 01:43:29 -07:00
sys_sunos32.c [NET] endianness noise: INADDR_ANY 2008-03-17 22:44:53 -07:00
sysfs.c [SPARC64]: More sensible udelay implementation. 2007-07-16 04:05:02 -07:00
systbls.h [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/signal.c 2008-03-26 01:52:18 -07:00
systbls.S [SPARC64]: Make use of compat_sys_ptrace() 2008-02-07 22:46:09 -08:00
time.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/time.c 2008-03-26 01:11:55 -07:00
trampoline.S [SPARC64]: Remove most limitations to kernel image size. 2008-03-21 17:01:38 -07:00
traps.c [SPARC64]: Fix sparse errors in arch/sparc64/kernel/traps.c 2008-03-26 00:19:43 -07:00
tsb.S [SPARC64]: store-init needs trailing membar. 2007-03-19 13:27:33 -07:00
ttable.S [SPARC64]: Unify timer interrupt handler. 2007-04-26 01:54:11 -07:00
una_asm.S
unaligned.c [SPARC64] arch/sparc64/kernel/unaligned.c: Use time_* macros 2008-02-17 23:24:10 -08:00
us2e_cpufreq.c [CPUFREQ] move policy's governor initialisation out of low-level drivers into cpufreq core 2007-10-04 18:40:57 -04:00
us3_cpufreq.c
vio.c [SPARC64]: Fix of section mismatch warnings. 2008-01-21 22:34:30 -08:00
viohs.c viohs: extern on function definition 2007-07-26 11:11:56 -07:00
visemul.c [SPARC64]: Call do_mathemu on illegal instruction traps too. 2006-12-10 02:39:32 -08:00
vmlinux.lds.S all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00
winfixup.S