freebsd-skq/sys/sparc64/pci
marius 5a1a2bd9cf - 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
..
apb.c
ofw_pci_if.m - Move ofw_pci_alloc_busno() to the ofw_pci KOBJ interface, 2007-06-18 21:49:42 +00:00
ofw_pci.h - Move ofw_pci_alloc_busno() to the ofw_pci KOBJ interface, 2007-06-18 21:49:42 +00:00
ofw_pcib_subr.c - Move ofw_pci_alloc_busno() to the ofw_pci KOBJ interface, 2007-06-18 21:49:42 +00:00
ofw_pcib_subr.h
ofw_pcib.c For sun4u also add PCI busses with a device unit number of -1 2007-06-18 21:46:07 +00:00
ofw_pcibus.c Remove unused softc. 2007-06-17 16:44:08 +00:00
psycho.c - Divorce the IOTSBs, which so far where handled via a global list 2007-08-05 11:56:44 +00:00
psychoreg.h - Divorce the IOTSBs, which so far where handled via a global list 2007-08-05 11:56:44 +00:00
psychovar.h - Use the newly introduced pcib_mtx spin lock to lock psycho_ce(), 2007-06-16 23:46:41 +00:00