svn commit: r232403 - in head/sys: dev/acpica dev/cardbus
dev/pci powerpc/ofw sparc64/pci
John Baldwin
jhb at freebsd.org
Fri Mar 2 22:21:55 UTC 2012
On Friday, March 02, 2012 4:45:52 pm Marius Strobl wrote:
> On Fri, Mar 02, 2012 at 08:38:05PM +0000, John Baldwin wrote:
> > Author: jhb
> > Date: Fri Mar 2 20:38:04 2012
> > New Revision: 232403
> > URL: http://svn.freebsd.org/changeset/base/232403
> >
> > Log:
> > - Add a bus_dma tag to each PCI bus that is a child of a Host-PCI bridge.
> > The tag enforces a single restriction that all DMA transactions must not
> > cross a 4GB boundary. Note that while this restriction technically only
> > applies to PCI-express, this change applies it to all PCI devices as it
> > is simpler to implement that way and errs on the side of caution.
>
> Hrm, wouldn't it have been more appropriate to implement this in the
> Host-PCI bridges instead? Probably for anything but x86 this would
> allow to easily distinguish at least between PCI and PCI-Express capable
> bus hierarchies and would move the PAE workaround to the MD bits to
> where it belongs.
The PAE workaround is dying as I've already fixed HEAD to make boundary arguments
use a bus_addr_t. However, I committed it in this fashion so it can be MFC'd
since I can't merge the boundary KBI change.
The reason I did not do this in the Host-PCI bridge drivers is that we would have
to do this in umpteen different drivers, and all for a change that is mandated by
the PCI spec and not specific to the various specs the Host-PCI bridge drivers
all cater to (OFW, ACPI, MPTable, various and sundry embedded platforms, etc.).
--
John Baldwin
More information about the svn-src-all
mailing list