patch-2.3.30 linux/arch/ppc/xmon/xmon.c
Next file: linux/arch/sparc/math-emu/math.c
Previous file: linux/arch/ppc/xmon/start.c
Back to the patch index
Back to the overall index
- Lines: 52
- Date:
Thu Dec 2 14:37:34 1999
- Orig file:
v2.3.29/linux/arch/ppc/xmon/xmon.c
- Orig date:
Tue Aug 31 17:29:13 1999
diff -u --recursive --new-file v2.3.29/linux/arch/ppc/xmon/xmon.c linux/arch/ppc/xmon/xmon.c
@@ -79,6 +79,7 @@
static void insert_bpts(void);
static struct bpt *at_breakpoint(unsigned pc);
static void bpt_cmds(void);
+static void cacheflush(void);
extern int print_insn_big_powerpc(FILE *, unsigned long, unsigned);
extern void printf(const char *fmt, ...);
@@ -342,11 +343,9 @@
case 't':
backtrace(excp);
break;
-#if 0
case 'f':
- openforth();
+ cacheflush();
break;
-#endif
case 'h':
dump_hash_table();
break;
@@ -539,6 +538,30 @@
fp->nip, fp->msr, fp->link, fp->ccr);
printf("ctr = %.8x xer = %.8x trap = %4x\n",
fp->ctr, fp->xer, fp->trap);
+}
+
+void
+cacheflush(void)
+{
+ int cmd;
+ unsigned nflush;
+
+ cmd = inchar();
+ if (cmd != 'i')
+ termch = cmd;
+ scanhex(&adrs);
+ if (termch != '\n')
+ termch = 0;
+ nflush = 1;
+ scanhex(&nflush);
+ nflush = (nflush + 31) / 32;
+ if (cmd != 'i') {
+ for (; nflush > 0; --nflush, adrs += 0x20)
+ cflush((void *) adrs);
+ } else {
+ for (; nflush > 0; --nflush, adrs += 0x20)
+ cinval((void *) adrs);
+ }
}
unsigned int
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)