X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=cpu%2Fmips%2Fcpu.c;h=f48675e9967da799ce3303a983bbf142592ecaa2;hb=d1bc6c8d5f4a9c7ca9fb2292d5c65f846dcc3995;hp=c27abbdd111b48b3f6e96722c35d3519839b8fa0;hpb=8bde7f776c77b343aca29b8c7b58464d915ac245;p=oweals%2Fu-boot.git diff --git a/cpu/mips/cpu.c b/cpu/mips/cpu.c index c27abbdd11..f48675e996 100644 --- a/cpu/mips/cpu.c +++ b/cpu/mips/cpu.c @@ -24,12 +24,13 @@ #include #include #include +#include int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { #if defined(CONFIG_INCA_IP) *INCA_IP_WDT_RST_REQ = 0x3f; -#elif defined(CONFIG_PURPLE) +#elif defined(CONFIG_PURPLE) || defined(CONFIG_TB0229) void (*f)(void) = (void *) 0xbfc00000; f(); @@ -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(); +}