summaryrefslogtreecommitdiff
path: root/cpu/mips/cpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpu/mips/cpu.c')
-rw-r--r--cpu/mips/cpu.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/cpu/mips/cpu.c b/cpu/mips/cpu.c
index c27abbdd11..e73d138450 100644
--- a/cpu/mips/cpu.c
+++ b/cpu/mips/cpu.c
@@ -24,6 +24,7 @@
#include <common.h>
#include <command.h>
#include <asm/inca-ip.h>
+#include <asm/mipsregs.h>
int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
@@ -42,3 +43,12 @@ void flush_cache (ulong start_addr, ulong size)
{
}
+
+void write_one_tlb( int index, u32 pagemask, u32 hi, u32 low0, u32 low1 ){
+ write_32bit_cp0_register(CP0_ENTRYLO0, low0);
+ write_32bit_cp0_register(CP0_PAGEMASK, pagemask);
+ write_32bit_cp0_register(CP0_ENTRYLO1, low1);
+ write_32bit_cp0_register(CP0_ENTRYHI, hi);
+ write_32bit_cp0_register(CP0_INDEX, index);
+ tlb_write_indexed();
+}