31st address line sometimes not used on EHCI/UHCI/OHCI

M. Warner Losh imp at bsdimp.com
Sun May 27 20:55:51 UTC 2007

In message: <200705272235.46048.hselasky at c2i.net>
            Hans Petter Selasky <hselasky at c2i.net> writes:
: I've got some reports back that some USB host controllers do not support 
: transferring memory from a location higher than 2GB.
: What should we do about this?
: Should we limit all USB DMA allocations to the lower 2GB of the memory?

busdma should be managing this behind the scenes.  You shouldn't care,
as the problematical usb controllers, if any, can do the bouncing as
required.  We need to get the hierarchical bus tagging stuff more
fully integrated, then we'd get this for free.

Of course, you'd have to stop using contigmalloc to allocate all the
memory for usb.  That won't work on some of the embedded platforms we
have, for example, because memory on them isn't as fungible as it is
on i386 and amd64.


More information about the freebsd-usb mailing list