History log of /arch/mn10300/mm/cache-inv-by-reg.S
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7f386ac3272e057fbf51e5b5712fad1a80e77125 18-Mar-2011 David Howells <dhowells@redhat.com> MN10300: Create general kernel debugger cache flushing

Create general kernel debugger cache flushing for MN10300 and get rid of the
old stuff that gdbstub was using.

Signed-off-by: David Howells <dhowells@redhat.com>
/arch/mn10300/mm/cache-inv-by-reg.S
b75bb2365d50f73c09e42cf2de07f5805a3988ea 18-Mar-2011 David Howells <dhowells@redhat.com> MN10300: The icache invalidate functions should disable the icache first

The icache invalidate functions should disable the icache on AM33 and wait for
it to quiesce before attempting to invalidate it, and should then wait for it
to quiesce again before reenabling it, but on AM34 they should invalidate
directly. The same goes for the dcache invalidation, but this isn't used much.

Whilst we're at it, this can be wrapped in assembler macros to remove duplicate
code.

The AM33 manual states that:

An operation that invalidates the cache, switches the writing mode, or
changes the way mode must be performed after disabling the cache,
checking the busy bit, and confirming that the cache is not in
operation.

for the dcache [sec 2.8.3.2.1]. This is not stated so for the icache [sec
2.8.3.1.1] but the example code there suggests that it is.

Whilst the AM34 manual states that the cache must be disabled for both the
icache [sec 1.8.3.2.1] and the dcache [sec 1.8.3.2.1], the Panasonic hardware
engineers say the manual is wrong and that disabling the caches for
invalidation is wrong.

Furthermore, they say that disabling the caches on the AM34 whilst running an
SMP kernel can lead to incoherency between the various CPU caches and should
thus be avoided.

Signed-off-by: David Howells <dhowells@redhat.com>
/arch/mn10300/mm/cache-inv-by-reg.S
9731d23710736b96786d68c2e63148ff3f22e6eb 27-Oct-2010 Akira Takeuchi <takeuchi.akr@jp.panasonic.com> MN10300: AM34: Add cacheflushing by using the AM34 purge registers

The AM34 CPU core provides an automated way of purging the cache rather than
manually iterating over all the tags in the cache. Make it possible to use
these.

Signed-off-by: Akira Takeuchi <takeuchi.akr@jp.panasonic.com>
Signed-off-by: Kiyoshi Owada <owada.kiyoshi@jp.panasonic.com>
Signed-off-by: David Howells <dhowells@redhat.com>
/arch/mn10300/mm/cache-inv-by-reg.S