allocating non-cacheable regions

Tom Roberts tjroberts at lucent.com
Thu Jun 1 08:39:21 EST 2000


Dan Malek wrote:
> You need to invalidate the data cache for this address and the TLB
> entry for this address when you set the flag.

That is probably his problem.


> You also need to ensure you are not
> multiple mapping the same physical address....

No, that is not necessary, as long as your program is aware of the
multiple mapping. In certain cases (com buffers shared by two non-
snooping CPUs) this is quite useful -- use the uncached addrs for the
queue pointers and the cached addrs for the data (being careful to
manually flush the cache before reading and after writing).

You do need to ensure you are not mapping the same _virtual_ address
(i.e. the effective address, in the language of Motorola's manuals),
but the kernel routines will probably take care of that for you....


Tom Roberts	tjroberts at lucent.com

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list