OpenCores
URL https://opencores.org/ocsvn/mips_enhanced/mips_enhanced/trunk

Subversion Repositories mips_enhanced

[/] [mips_enhanced/] [trunk/] [grlib-gpl-1.0.19-b3188/] [designs/] [leon3-clock-gate/] [prom.S] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dimamali
#define MCFG1 0x10380233
2
#define MCFG2 0xe6A06e60
3
#define MCFG3 0x000ff000
4
#define ASDCFG 0xfff00100
5
#define DSDCFG 0xe6A06e60
6
#define L2MCTRLIO 0x80000000
7
#define IRQCTRL   0x80000200
8
#define RAMSTART  0x40000000
9
#define RAMSIZE   0x00100000
10
#define STACKSIZE 0x00002000
11
 
12
        .seg    "text"
13
        .proc   0
14
        .align  4
15
        .global start
16
start:
17
 
18
        flush
19
        set 0x10e0, %g1         ! init IU
20
        mov %g1, %psr
21
        mov %g0, %wim
22
        mov %g0, %tbr
23
        mov %g0, %y
24
        nop
25
        set  0x81000f, %g1
26
        sta %g1, [%g0] 2
27
/*
28
        set 0x80000200, %g3
29
        st  %g0, [%g3+0]
30
        st  %g0, [%g3+4]
31
        st  %g0, [%g3+8]
32
        st  %g0, [%g3+0xC]
33
        set -1, %g2
34
        st  %g2, [%g3+0x40]
35
        st  %g2, [%g3+0x44]
36
 
37
        set 0x80000300, %g3
38
        set 15, %g2
39
        st  %g2, [%g3+0]
40
        st  %g2, [%g3+4]
41
        st  %g2, [%g3+0x10]
42
        st  %g2, [%g3+0x14]
43
        st  %g2, [%g3+0x18]
44
 
45
        mov %g0, %asr19
46
*/
47
2:
48
        mov %asr17, %g3
49
        and %g3, 0x1f, %g3
50
        mov %g0, %g4
51
        mov %g0, %g5
52
        mov %g0, %g6
53
        mov %g0, %g7
54
1:
55
        mov %g0, %l0
56
        mov %g0, %l1
57
        mov %g0, %l2
58
        mov %g0, %l3
59
        mov %g0, %l4
60
        mov %g0, %l5
61
        mov %g0, %l6
62
        mov %g0, %l7
63
        mov %g0, %o0
64
        mov %g0, %o1
65
        mov %g0, %o2
66
        mov %g0, %o3
67
        mov %g0, %o4
68
        mov %g0, %o5
69
        mov %g0, %o6
70
        mov %g0, %o7
71
        subcc %g3, 1, %g3
72
        bge 1b
73
        save
74
 
75
        mov     2, %g1
76
        mov     %g1, %wim
77
        set 0x10e0, %g1         ! enable traps
78
        mov %g1, %psr
79
        nop; nop; nop;
80
 
81
        mov %asr17, %g3
82
        srl %g3, 28, %g3
83
        andcc %g3, 0x0f, %g3
84
        bne 1f
85
 
86
        set L2MCTRLIO, %g1
87
        set MCFG1, %g2
88
        st  %g2, [%g1]
89
        set MCFG2, %g2
90
        st  %g2, [%g1+4]
91
        set MCFG3, %g2
92
        st  %g2, [%g1+8]
93
!       set IRQCTRL, %g1
94
!       set 0x0ffff, %g2
95
!       st  %g2, [%g1+0x10]
96
 
97
        set 0xFFFFF860, %g1
98
        ld  [%g1], %g2
99
        srl %g2, 12, %g2
100
        set 0x01009, %g1
101
        subcc %g1, %g2, %g0
102
        bne 1f
103
 
104
        set ASDCFG, %g1
105
        set DSDCFG, %g2
106
        st  %g2, [%g1]
107
 
108
        ! %g3 = cpu index
109
1:      set STACKSIZE, %g2
110
        mov %g0, %g1
111
2:      subcc %g3, 0, %g0
112
        be 3f
113
        nop
114
        add %g1, %g2, %g1
115
        ba 2b
116
        sub %g3, 1, %g3
117
 
118
3:      set RAMSTART+ RAMSIZE-32, %fp
119
        sub %fp, %g1, %fp
120
        sub %fp, 96, %sp
121
 
122
        set RAMSTART, %g1
123
        jmp %g1
124
        nop
125
 
126
.align  32

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.