|
|
|
@ -22,7 +22,6 @@ |
|
|
|
|
* MA 02111-1307 USA |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include <config.h> |
|
|
|
|
#include <version.h> |
|
|
|
|
#include <asm/regdef.h> |
|
|
|
@ -30,13 +29,11 @@ |
|
|
|
|
#include <asm/addrspace.h> |
|
|
|
|
#include <asm/cacheops.h> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 16KB is the maximum size of instruction and data caches on |
|
|
|
|
* MIPS 4K. |
|
|
|
|
*/ |
|
|
|
|
#define MIPS_MAX_CACHE_SIZE 0x4000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
* cacheop macro to automate cache operations |
|
|
|
|
* first some helpers... |
|
|
|
@ -131,7 +128,6 @@ mips_cache_reset: |
|
|
|
|
li t4, CFG_CACHELINE_SIZE |
|
|
|
|
move t5, t4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
li v0, MIPS_MAX_CACHE_SIZE |
|
|
|
|
|
|
|
|
|
/* Now clear that much memory starting from zero. |
|
|
|
@ -139,8 +135,8 @@ mips_cache_reset: |
|
|
|
|
|
|
|
|
|
li a0, KSEG1 |
|
|
|
|
addu a1, a0, v0 |
|
|
|
|
|
|
|
|
|
2: sw zero, 0(a0) |
|
|
|
|
2: |
|
|
|
|
sw zero, 0(a0) |
|
|
|
|
sw zero, 4(a0) |
|
|
|
|
sw zero, 8(a0) |
|
|
|
|
sw zero, 12(a0) |
|
|
|
@ -202,8 +198,8 @@ mips_cache_reset: |
|
|
|
|
icacheop(a0,a1,a2,a3,Index_Store_Tag_D) |
|
|
|
|
|
|
|
|
|
j ra |
|
|
|
|
.end mips_cache_reset
|
|
|
|
|
|
|
|
|
|
.end mips_cache_reset
|
|
|
|
|
|
|
|
|
|
/******************************************************************************* |
|
|
|
|
* |
|
|
|
@ -242,7 +238,6 @@ dcache_disable: |
|
|
|
|
|
|
|
|
|
.end dcache_disable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************* |
|
|
|
|
* |
|
|
|
|
* mips_cache_lock - lock RAM area pointed to by a0 in cache. |
|
|
|
@ -266,4 +261,5 @@ mips_cache_lock: |
|
|
|
|
icacheop(a0,a1,a2,a3,0x1d) |
|
|
|
|
|
|
|
|
|
j ra |
|
|
|
|
|
|
|
|
|
.end mips_cache_lock
|
|
|
|
|