📄 cache.s
字号:
//#include ".\System\SystemDefine\os_isr.h"
.text
.global CacheSelectType
.global CacheCurrType
.global DCacheInvaEtr
.global DCacheFrcWrtVa
.global DCacheFrcWrtInva
CacheSelectType:
li r5, 0x01
cmp.c r4, r5
bne SelectWriteThrough
SelectWriteBack:
mfcr r5, cr4
li r7, 0x80
andri r6, r5, 0x80
cmp.c r7, r6 // Check under Write-Back mode?
bne ToggleWBFnc
br r3
SelectWriteThrough:
mfcr r5, cr4
li r7, 0x80
andri r6, r5, 0x80
cmp.c r7, r6 // Check under Write-Back mode?
beq ToggleWBFnc
br r3
ToggleWBFnc:
la r7, ToggleWBFnc
cache 0x1F, [r7, 0] // force write out dirty entry and set invalid
nop
nop
nop
cache 0x1D, [r7, 0] // toggle write-back function
br r3
CacheCurrType:
mfcr r5, cr4
li r7, 0x80
andri r6, r5, 0x80
cmp.c r7, r6 // Check under Write-Back mode?
bne WriteThroughMode
li r4, 0x01 // Write-Back Mode
br r3
WriteThroughMode:
li r4, 0x00 // Write-Through Mode
br r3
DCacheInvaEtr:
la r4, DCacheInvaEtr
cache 0x18, [r4,0]
br r3
DCacheFrcWrtVa:
la r4, DCacheFrcWrtVa
cache 0x1E, [r4,0]
br r3
DCacheFrcWrtInva:
la r4, DCacheFrcWrtInva
cache 0x1F, [r4,0]
cache 0x18, [r4,0]
br r3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -