ntr_bootrom/trunk/IrisMainp/IrisMon/Cp15InitArm.s

75 lines
1.9 KiB
ArmAsm
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;=======================================================================
; crt0_arm.s
; スタートアップルーチンARMASM用
;
; Copyright (C) 2002-2003 NINTENDO Co.,Ltd.
;=======================================================================
AREA Init, CODE, READONLY
INCLUDE IrisDefineArm.s
INCLUDE IrisMemoryMapArm.s
INCLUDE IrisSystemCallArm.s
INCLUDE IrisMacroArm.s
INCLUDE IrisMonDefineArm.s
INCLUDE IrisMonMempryMapArm.s
;-----------------------------------------------------------------------
; システム制御コプロセッサ リセットr0=パラメータ)
;-----------------------------------------------------------------------
GLOBAL reset_cp15
ALIGN
CODE32
reset_cp15
; プロテクションユニット/キャッシュ/TCM セット
mcr p15, 0, r0, c1, c0, 0
; キャッシュ無効化
mov r0, #0
mcr p15, 0, r0, c7, c5, 0 ; 命令キャッシュ
mcr p15, 0, r0, c7, c6, 0 ; データキャッシュ
; ライトバッファ エンプティ待ち
mcr p15, 0, r0, c7, c10, 4
bx lr
;-----------------------------------------------------------------------
; システム制御コプロセッサ 初期化
;-----------------------------------------------------------------------
GLOBAL init_cp15
ALIGN
CODE32
init_cp15
mov r12, lr
; プロテクションユニット/キャッシュ/TCM ディセーブル
ldr r0, =C1_EXCEPT_VEC_UPPER | C1_SB1_BITSET
bl reset_cp15
; データTCM 設定
ldr r0, =MON_DTCM :OR: C9_TCMR_16KB
mcr p15, 0, r0, c9, c1, 0
; システム制御コプロセッサ マスター設定
mrc p15, 0, r0, c1, c0, 0
ldr r0, =C1_DTCM_ENABLE | C1_EXCEPT_VEC_UPPER | C1_SB1_BITSET
mcr p15, 0, r0, c1, c0, 0
bx r12
END