Merge branch 'testing' into working
[oweals/u-boot.git] / cpu / 74xx_7xx / kgdb.S
index c3132c29bcf20157e6661307740544378f9ce73d..4f231228c2285950ed4f2df46f99ec01111bcc7f 100644 (file)
@@ -20,8 +20,6 @@
  * MA 02111-1307USA
  */
 
-/* note - this won't work with the 74xx cpus.  needs more work [josh] */
-
 #include <config.h>
 #include <command.h>
 #include <74xx_7xx.h>
@@ -33,7 +31,7 @@
 #include <asm/cache.h>
 #include <asm/mmu.h>
 
-#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
+#if defined(CONFIG_CMD_KGDB)
 
  /*
  * cache flushing routines for kgdb
 
        .globl  kgdb_flush_cache_all
 kgdb_flush_cache_all:
-       lis     r3, IDC_INVALL@h
-       mtspr   DC_CST, r3
-       sync
-       lis     r3, IDC_INVALL@h
-       mtspr   IC_CST, r3
+       lis     r3,0
+       addis   r4,r0,0x0040
+kgdb_flush_loop:
+       lwz     r5,0(r3)
+       addi    r3,r3,CFG_CACHELINE_SIZE
+       cmp     0,0,r3,r4
+       bne     kgdb_flush_loop
        SYNC
+       mfspr   r3,1008
+       ori     r3,r3,0x8800
+       mtspr   1008,r3
+       sync
        blr
 
        .globl  kgdb_flush_cache_range
@@ -70,4 +74,4 @@ kgdb_flush_cache_range:
        SYNC
        blr
 
-#endif /* CFG_CMD_KGDB */
+#endif