flush cache after exception code install

This commit is contained in:
kontais
2016-06-15 08:09:56 -07:00
parent 99481cd0ac
commit b96f07e477
4 changed files with 15 additions and 2 deletions
+3 -1
View File
@@ -13,6 +13,7 @@
* 2011-08-08 lgnq modified for LS1B
*/
#include <rtthread.h>
#include "../common/mipsregs.h"
#define K0BASE 0x80000000
@@ -23,6 +24,7 @@ extern void Invalidate_Icache_Ls1b(unsigned int);
extern void Invalidate_Dcache_ClearTag_Ls1b(unsigned int);
extern void Invalidate_Dcache_Fill_Ls1b(unsigned int);
extern void Writeback_Invalidate_Dcache(unsigned int);
extern void enable_cpu_cache(void);
typedef struct cacheinfo_t
{
@@ -151,7 +153,7 @@ void invalidate_dcache_all(void)
unsigned int end = (start + pcacheinfo->dcache_size);
while (start <end)
{
Invalidate_Dcache_Fill_Gc3210I(start);
Invalidate_Dcache_Fill_Ls1b(start);
start += pcacheinfo->icacheline_size;
}
}
+3 -1
View File
@@ -14,6 +14,7 @@
* 2015-07-08 chinesebear modified for loongson 1c
*/
#include <rtthread.h>
#include "../common/mipsregs.h"
#define K0BASE 0x80000000
@@ -24,6 +25,7 @@ extern void Invalidate_Icache_Ls1c(unsigned int);
extern void Invalidate_Dcache_ClearTag_Ls1c(unsigned int);
extern void Invalidate_Dcache_Fill_Ls1c(unsigned int);
extern void Writeback_Invalidate_Dcache(unsigned int);
extern void enable_cpu_cache(void);
typedef struct cacheinfo_t
{
@@ -152,7 +154,7 @@ void invalidate_dcache_all(void)
unsigned int end = (start + pcacheinfo->dcache_size);
while (start <end)
{
Invalidate_Dcache_Fill_Gc3210I(start);
Invalidate_Dcache_Fill_Ls1c(start);
start += pcacheinfo->icacheline_size;
}
}