svn commit: r209026 - in head/sys/ia64: ia64 include

Scott Long scottl at samsco.org
Fri Jun 11 18:36:20 UTC 2010


On Jun 11, 2010, at 12:30 PM, Pyun YongHyeon wrote:
> On Fri, Jun 11, 2010 at 02:20:46PM -0400, John Baldwin wrote:
>>>>>> 
>>>>>> I'm not clear why you even need bounce buffers for RX.  The chip 
>> supports 64bit addresses with no boundary or alignment restrictions.
>>>>>> 
>>>>> 
>>>>> Some controllers have 4G boundary bug so bge(4) restricts dma
>>>>> address space.
>>>> 
>>>> That limitation should be reflected in the boundary attribute of the tag, 
>> not the lowaddr/highaddr attributes.
>>>> 
>>> 
>>> Yes, but that needed more code. And I don't have these buggy
>>> controllers so I chose more simple way that would work even though
>>> it may be inefficient.
>> 
>> You can just use a 2GB boundary as a workaround.  Look at what the twa(4) 
>> driver does to enforce a 4GB boundary for an example.
>> 
> 
> I vaguely remember the problem was DMA memory allocated with
> bus_dmamem_alloc(9) does not honor boundary argument so bge(4) had
> to ensure the allocated memory is within 4GB.

That might be true, in which case you should set the restriction on the child tags that need it, not the parent tag.

Scott



More information about the svn-src-head mailing list