|
@@ -25,6 +25,7 @@
|
|
|
#include <linux/errno.h>
|
|
|
#include <linux/ptrace.h>
|
|
|
#include <asm/current.h>
|
|
|
+#include <asm/cacheflush.h>
|
|
|
|
|
|
#define MICROBLAZE_ILL_OPCODE_EXCEPTION 0x02
|
|
|
#define MICROBLAZE_IBUS_EXCEPTION 0x03
|
|
@@ -52,6 +53,8 @@ void die(const char *str, struct pt_regs *fp, long err)
|
|
|
void sw_exception(struct pt_regs *regs)
|
|
|
{
|
|
|
_exception(SIGTRAP, regs, TRAP_BRKPT, regs->r16);
|
|
|
+ flush_dcache_range(regs->r16, regs->r16 + 0x4);
|
|
|
+ flush_icache_range(regs->r16, regs->r16 + 0x4);
|
|
|
}
|
|
|
|
|
|
void _exception(int signr, struct pt_regs *regs, int code, unsigned long addr)
|