aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-10-03 17:21:10 +0900
committerPaul Mundt <lethal@linux-sh.org>2007-10-03 17:21:10 +0900
commit01bd5e9ef2ead97059a1930de43942bdfc9e8755 (patch)
tree1b2c639a8c2239380929c7f7fe233fdfeecd07bd /arch
parenta90f354709b372c8dcabe3cd6315a83da5927573 (diff)
downloadkernel_samsung_smdk4412-01bd5e9ef2ead97059a1930de43942bdfc9e8755.zip
kernel_samsung_smdk4412-01bd5e9ef2ead97059a1930de43942bdfc9e8755.tar.gz
kernel_samsung_smdk4412-01bd5e9ef2ead97059a1930de43942bdfc9e8755.tar.bz2
sh: Make kgdb i-cache flushing less inept.
kgdb had its own ranged I-cache flushing routine that attempted to duplicate the flush_icache_range() functionality, but managed to do an explicit D-cache writeback & invalidate twice on SH-4. This is a no-op for SH-3, and the flush_icache_range() semantics already do what kgdb was feebly attempting to do already, so just move over to that and kill off the wrapper. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/sh/kernel/kgdb_stub.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/sh/kernel/kgdb_stub.c b/arch/sh/kernel/kgdb_stub.c
index 27f64b9..2fdc700 100644
--- a/arch/sh/kernel/kgdb_stub.c
+++ b/arch/sh/kernel/kgdb_stub.c
@@ -609,7 +609,7 @@ static short *get_step_address(void)
else
addr = trap_registers.pc + 2;
- kgdb_flush_icache_range(addr, addr + 2);
+ flush_icache_range(addr, addr + 2);
return (short *) addr;
}
@@ -632,7 +632,7 @@ static void do_single_step(void)
*addr = STEP_OPCODE;
/* Flush and return */
- kgdb_flush_icache_range((long) addr, (long) addr + 2);
+ flush_icache_range((long) addr, (long) addr + 2);
}
/* Undo a single step */
@@ -642,7 +642,7 @@ static void undo_single_step(void)
/* Use stepped_address in case we stopped elsewhere */
if (stepped_opcode != 0) {
*(short*)stepped_address = stepped_opcode;
- kgdb_flush_icache_range(stepped_address, stepped_address + 2);
+ flush_icache_range(stepped_address, stepped_address + 2);
}
stepped_opcode = 0;
}
@@ -728,7 +728,7 @@ static void write_mem_msg(int binary)
ebin_to_mem(ptr, (char*)addr, length);
else
hex_to_mem(ptr, (char*)addr, length);
- kgdb_flush_icache_range(addr, addr + length);
+ flush_icache_range(addr, addr + length);
ptr = 0;
send_ok_msg();
}