[Forum] Try only to realise the truth | ANN.lu |
|
List of all comments to this article |
Try only to realise the truth : Comment 295 of 335 | ANN.lu |
Posted by syrtran on 06-Jul-2004 23:57 GMT | In reply to Comment 226 (Chris Hodges): @Chris
(quote)
As the hardware DMA support is assumed for most systems, hardly anybody will care for such manual cache consistency in their drivers. So although this might be possible to fix for Linux, I don't think every driver will be checked for necessary CachePreDMA and CachePostDMA calls.
Even if one would not call the ArticiaS bugged related to DMA, it is clearly a missing feature for transparent DMA operations.
(/quote)
I agree that the missing 'dirty' signal is a design flaw, however there is one more term in this equation. BenH stated that he used only the BAT registers to map the entire LinuxPPC address space and completely ignored the page tables. IMO, this is a bad software design. I'm not the one, however, that's done kernel programming, so take my opinion for the little it's worth.
In order to invalidate a cache entry, a driver designer would have to invalidate a huge block of memory addresses (up to 256MB). This would probably be outside the addressing for a single device's I/O buffers and could seriously hamper performance across the board.
I've read Moto's documentation and an old Que PowerPC book I have. I get the feeling that the BAT registers were in the Power architecture solely to accomodate OS/400's design as one large database. Moto's own documentation states:
[Moto]
The block address translation (BAT) mechanism in the OEA provides a way to map ranges of effective addresses larger than a single page into contiguous areas of physical memory. Such areas can be used for data that is not subject to normal virtual memory handling (paging), such as a memory-mapped display buffer or an extremely large array of numbers.
[/Moto]
Seems to me that, if someone wants DMA-enabled Linux on an A1, all they've got to do is rewrite the memory-management routines using page tables and throw out all the work done by BenH, an acknowledged kernel guru. |
|
List of all comments to this article (continued) |
|
- User Menu
-
- About ANN archives
- The ANN archives is powered by #AmigaZeux. It was updated daily (news last: 22-Oct-2004; comments last: 18-May-2005).
ANN.lu was created, previously owned and maintained by Christian Kemp, www.ckemp.com.
- Contribute
- Not possible at this time!
- Search ANN archives
- Advanced search
- Hosting
- ANN.lu was hosted by Dreamhost. Sign up through this link, mention "ckemp" as referrer and he will get a 10% commission on any account you purchase.
Please show your appreciation for any past, present and future work on ANN.lu by making a contribution via PayPal.
|