mirror of
https://github.com/rvtr/ntr_bootrom.git
synced 2025-10-31 07:11:11 -04:00
75 lines
1.9 KiB
ArmAsm
75 lines
1.9 KiB
ArmAsm
;=======================================================================
|
||
; 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
|
||
|