freebsd-dev/sys/sparc64/include
Marius Strobl 6bbb5a106c - Divorce the IOTSBs, which so far where handled via a global list
instead of per IOMMU, so we no longer need to program all of them
  identically in systems having multiple IOMMUs. This continues the
  rototilling of the nexus(4) done about 5 months ago, which amongst
  others changed nexus(4) and the drivers for host-to-foo bridges
  to provide bus_get_dma_tag methods, allowing to handle DMA tags in
  a hierarchical way and to link them with devices.
  This still doesn't move the silicon bug workarounds for Sabre (and
  in the uncommitted schizo(4) for Tomatillo) bridges into special
  bus_dma_tag_create() and bus_dmamap_sync() methods though, as w/o
  fully newbus'ified bus_dma_tag_create() and bus_dma_tag_destroy()
  this still requires too much hackery, i.e. per-child parent DMA
  tags in the parent driver.
- Let the host-to-foo drivers supply the maximum physical address
  of the IOMMU accompanying the bridges. Previously iommu(4) hard-
  coded an upper limit of 16GB, which actually only applies to the
  IOMMUs of the Hummingbird and Sabre bridges. The Psycho variants
  as well as the U2S in fact can can translate to up to 2TB, i.e.
  translate to 41-bit physical addresses. According to the recently
  available Tomatillo documentation these bridges even translate to
  43-bit physical addresses and hints at the Schizo bridges doing
  43 bits as well.
  This fixes the issue the FreeBSD 6.0 todo list item "Max RAM on
  sparc64" was refering to and pretty much obsoletes the lack of
  support for bounce buffers on sparc64.

Thanks to Nathan Whitehorn for pointing me at the Tomatillo manual.

Approved by:	re (kensmith)
2007-08-05 11:56:44 +00:00
..
_bus.h - Complete breaking out the definition of bus_space_{tag,handle}_t by 2006-06-13 19:18:09 +00:00
_inttypes.h
_limits.h Move MINSIGSTKSZ from <machine/signal.h> to <machine/_limits.h> and rename 2005-08-20 16:44:41 +00:00
_stdint.h
_types.h
asi.h unbreak sparc64 loader build 2006-10-09 05:59:04 +00:00
asm.h
asmacros.h
atomic.h Add a new atomic_fetchadd() primitive that atomically adds a value to a 2005-09-27 17:39:11 +00:00
bus_common.h
bus_dma.h
bus_private.h Rototill the sparc64 nexus(4) (actually this brings in the code the 2007-03-07 21:13:51 +00:00
bus.h - Rename UPA_BUS_SPACE to NEXUS_BUS_SPACE; besides an UPA bus, nexus(4) 2007-01-18 18:32:26 +00:00
cache.h Convert the remainder of the low hanging fruits regarding including 2007-01-19 11:15:34 +00:00
ccr.h
clock.h First part of a little cleanup in the calendar/timezone/RTC handling. 2006-10-02 12:59:59 +00:00
cpu.h Clean out sysctl machdep.* related defines. 2006-05-11 17:29:25 +00:00
cpufunc.h
db_machdep.h
elf.h PR: 2006-10-04 21:37:10 +00:00
endian.h In the replacement text of the __bswapN_const() macros encapsulate the 2006-10-30 21:50:11 +00:00
exec.h
float.h
floatingpoint.h
fp.h
frame.h Convert the remainder of the low hanging fruits regarding including 2007-01-19 11:15:34 +00:00
fsr.h Convert the remainder of the low hanging fruits regarding including 2007-01-19 11:15:34 +00:00
gdb_machdep.h
idprom.h
ieee.h
ieeefp.h
in_cksum.h - The inline asm in this file uses output operands before all input 2006-01-12 11:40:39 +00:00
instr.h
intr_machdep.h o break newbus api: add a new argument of type driver_filter_t to 2007-02-23 12:19:07 +00:00
iommureg.h - Divorce the IOTSBs, which so far where handled via a global list 2007-08-05 11:56:44 +00:00
iommuvar.h - Divorce the IOTSBs, which so far where handled via a global list 2007-08-05 11:56:44 +00:00
kdb.h Add kdb_cpu_sync_icache(), intended to synchronize instruction 2007-06-09 21:55:17 +00:00
kerneldump.h
ktr.h Use <sys/ktr.h> directly in .S files instead of exporting the 2005-12-06 16:38:08 +00:00
limits.h
lsu.h
md_var.h
memdev.h
metadata.h
mutex.h
ofw_bus.h
ofw_machdep.h
ofw_mem.h
ofw_nexus.h Rototill the sparc64 nexus(4) (actually this brings in the code the 2007-03-07 21:13:51 +00:00
param.h add new large page sizes for use by shared loader 2006-12-18 07:28:59 +00:00
pcb.h Convert the remainder of the low hanging fruits regarding including 2007-01-19 11:15:34 +00:00
pcpu.h Rework the PCPU_* (MD) interface: 2007-06-04 21:38:48 +00:00
pmap.h Add pmap_clear_write() to the interface between the virtual memory 2006-07-20 17:48:41 +00:00
pmc_mdep.h
proc.h
profile.h - Add bits for userland profiling. For sun4u this is compile-tested only. 2007-05-11 23:43:55 +00:00
pstate.h
ptrace.h
reg.h
reloc.h Remove 3rd clause, renumber, ok per email 2007-01-12 07:26:21 +00:00
resource.h
runq.h
sc_machdep.h
setjmp.h Remove 3rd clause, renumber, ok per email 2007-01-12 07:26:21 +00:00
sf_buf.h
sigframe.h
signal.h Move MINSIGSTKSZ from <machine/signal.h> to <machine/_limits.h> and rename 2005-08-20 16:44:41 +00:00
smp.h - Add support for sending IPIs with USIII and greater sun4u CPUs. 2007-06-16 23:26:00 +00:00
stdarg.h Use __builtin_va_start instead of __builtin_stdarg_start. GCC4 obsoletes 2006-09-21 01:37:02 +00:00
sysarch.h
tick.h
tlb.h
trap.h Correct typos (s/OFERFLOW/OVERFLOW/). 2006-01-16 01:35:25 +00:00
tsb.h Convert the remainder of the low hanging fruits regarding including 2007-01-19 11:15:34 +00:00
tstate.h
tte.h
ucontext.h
upa.h
utrap.h Correct typos (s/OFERFLOW/OVERFLOW/). 2006-01-16 01:35:25 +00:00
varargs.h
ver.h - Also identify USIIIi+, USIV and USIV+ CPUs. 2007-05-20 13:47:36 +00:00
vmparam.h Add the machine-specific definitions for configuring the new physical 2007-06-04 02:32:07 +00:00
watch.h
wstate.h