1999-03-14 19:09:35

by Jay.Estabrook

[permalink] [raw]
Subject: Re: > 1GB on alpha. Patch to 1TB?


>>> Jakub Jelinek said:
>
> There is something in the sparc tree, which is used also for sun4c and sun4d
> (where there is only 64MB of DMA per board, so one has to remap DMA areas
> during runtime).
> Besically, each driver before it starts doing dma uses some function which
> translates virtual address + length to dma address and allocates it, then
> after the dma the driver has to release it again.

This is a technique that would work on the Alphas as well, but as noted above,
it *does* require driver modifications to manage the resource correctly.

On Alpha, in addition to the direct-map DMA windows which are currently
used, one can define what we call "scatter-gather" DMA windows. The range of
PCI addresses that fall into one of these windows are re-directed to host
memory via a page table, where the address in a PTE can be *any* page in the
possible installed memory - no bounce buffers needed... :-)

> Martin Mares and myself are considering this as part of the new buses
> interface we plan for 2.3. The Ultra port supports even now huge amounts of
> memory, but uses bounce buffers for that. I plan to change it in early 2.3.

Great! Keep us posted with your progress.

--Jay++

-------------------------------------------------------------------------------
American Non Sequitur Society: we don't make sense, but we do like pizza...

Jay A Estabrook Alpha Motherboards - LINUX Project
Compaq Computer Corporation (508) 841-3241 or (DTN) 237-3241
334 South Street, Shrewsbury, MA 01545 [email protected]
-------------------------------------------------------------------------------