nios2: fix cache coherency issue when debug with gdb
authorLey Foon Tan <lftan@altera.com>
Fri, 10 Apr 2015 03:10:08 +0000 (11:10 +0800)
committerLey Foon Tan <lftan@altera.com>
Fri, 10 Apr 2015 03:10:08 +0000 (11:10 +0800)
commit4a89c3088ff61aa24754e9cd6dc665cc719f7efe
treed280b9ad4a94a3aeec310e5764760df685c6ffca
parente3e29f990cc77c5b23280c77275812a3f010cc41
nios2: fix cache coherency issue when debug with gdb

Remove the end address checking for flushda function. We need to flush
each address line for flushda instruction, from start to end address.
This is because flushda instruction only flush the cache if tag and line
fields are matched.

Change to use ldwio instruction (bypass cache) to load the instruction
that causing trap. Our interest is the actual instruction that executed
by the processor, this should be uncached.
Note, EA address might be an userspace cached address.

Signed-off-by: Ley Foon Tan <lftan@altera.com>
arch/nios2/kernel/entry.S
arch/nios2/mm/cacheflush.c