On Tue, 2004-06-08 at 03:32, Ole-Egil Hvitmyren wrote: > I don't see ANY damn reason why you need to drag that debate in here, > but let's just say certain other OSes doesn't have a problem marking DMA > buffers as non-cacheable.
Hehehehehe, that's getting funny :) (Note that I don't know anything about the specific problem you are dealing with here ...) Ok, so Linux do support non-coherent DMA quite well, it's atcually widely used by various sorts of embedded PPC CPUs like 4xx, 8xx, ... _HOWEVER_, doing that in a northbridge for anything but an embedded CPU, especially a CPU of the 6xx/7xxx family is just insane. It's basically incompetent northbridge design. Linux uses BATs to map the entire linar memory aperture, on those CPUs, which is a significant performance gain, and allows to simplify some low level memory management issues. However, for various reasons I can explain separately, that means that on those CPU, we cannot easily map arbitrary pieces of memory as non-cacheable in a reliable way (and yes, that is a problem with AGP on some machines). > It's stated pretty explicitly in the northbridge documentation that this > is how it needs to work, saying the hardware is buggy because it follows > its own documentation seems a TAD silly to me. No, that means the HW is a Piece Of Shit ! > But you can't help it, can you? Every time someone mentions the AmigaOne > it has to be "not very stable the time (two years ago, was it?) I saw > it" and so on. Yes, we've had some Linux problems. Quite a few, > actually. But most of that seems to come from MAI and Eyetech wanting to > get everything for free, and not doing anything to actively support the > development of the Linux kernel. I'm not from any of these but I've been one of the maintainers of the PPC kernel for long enough to have a chance to play with a wide range of northbridges. Cache coherency is a basic feature of anything claiming to be used as a desktop machine. Ben.