blob: b0f70727017f33e6cf3bf55814573f0733303003 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 | /* Memory sub-system initialization code */
#include <config.h>
#include <asm/regdef.h>
#include <asm/mipsregs.h>
	.text
	.set noreorder
	.set mips32
	.globl	lowlevel_init
lowlevel_init:
	/*
	 * Step 2) Establish Status Register
	 * (set BEV, clear ERL, clear EXL, clear IE)
	 */
	li	t1, 0x00400000
	mtc0	t1, CP0_STATUS
	/*
	 * Step 3) Establish CP0 Config0
	 * (set K0=3)
	 */
	li	t1, 0x00000003
	mtc0	t1, CP0_CONFIG
	/*
	 * Step 7) Establish Cause
	 * (set IV bit)
	 */
	li	t1, 0x00800000
	mtc0	t1, CP0_CAUSE
	/* Establish Wired (and Random) */
	mtc0	zero, CP0_WIRED
	nop
	jr	ra
	nop
 |