📄 cacheid.s
字号:
;-------------------------------------------------------------------------------
;
; File: cacheid.s
;
;
INCLUDE kxarm.h
INCLUDE armmacros.s
TEXTAREA
;-------------------------------------------------------------------------------
;
; Function: OALGetContextID
;
; Get ContextID register value
;
LEAF_ENTRY OALGetContextID
mov r0, #0
mrc p15, 0, r0, c13, c0, 1 ; read context ID
RETURN
;-------------------------------------------------------------------------------
;
; Function: OALGetCacheType
;
; Get Cache Type register value
;
LEAF_ENTRY OALGetCacheType
mov r0, #0
mrc p15, 0, r0, c0, c0, 1 ; read cache type reg
RETURN
;-------------------------------------------------------------------------------
;
; Function: OALGetCacheLevelID
;
; Get Cache Level ID register value
;
LEAF_ENTRY OALGetCacheLevelID
mov r0, #0
mrc p15, 1, r0, c0, c0, 1 ; read cache level ID reg
RETURN
;-------------------------------------------------------------------------------
;
; Function: OALGetCacheSizeID
;
; Get Cache size and attributes for the selected cache level
;
LEAF_ENTRY OALGetCacheSizeID
and r0, r0, #0x0f
mov r1, #0
mcr p15, 2, r0, c0, c0, 0 ; write the Cache Size selection register
mcr p15, 0, r1, c7, c5, 4 ; PrefetchFlush to sync the change to the CacheSizeID reg
mov r0, #0
mrc p15, 1, r0, c0, c0, 0 ; reads current Cache Size ID register
RETURN
;-------------------------------------------------------------------------------
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -