cache.s
来自「凌阳SPCE3200多媒体开发板自带源程序。共安排了32个子目录」· S 代码 · 共 85 行
S
85 行
//#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 + =
减小字号Ctrl + -
显示快捷键?