Please enable JavaScript to use RhodeCode Enterprise
##// END OF EJS Templates
/* Template boot - code for LEON3 test benches */
#ifndef STACKSIZE
#define STACKSIZE 0x00002000
#endif
#include "prom.h"
.seg "text"
.proc 0
.align 4
.global start
start :
flush
set 0x10e0 , %g1 ! init IU
mov % g1 , %psr
mov % g0 , %wim
mov % g0 , %tbr
mov % g0 , %y
nop
set 0x81000f, % g1
sta %g1, [% g0] 2
mov %g0, % g2
nop
nop
nop
nop
nop
or %g2, % g2 , %g0
nop
nop
nop
nop
nop
2:
mov % asr17 , %g3
and % g3 , 0x1f , %g3
mov % g0 , %g4
mov % g0 , %g5
mov % g0 , %g6
mov % g0 , %g7
1:
mov % g0 , %l0
mov % g0 , %l1
mov % g0 , %l2
mov % g0 , %l3
mov % g0 , %l4
mov % g0 , %l5
mov % g0 , %l6
mov % g0 , %l7
mov % g0 , %o0
mov % g0 , %o1
mov % g0 , %o2
mov % g0 , %o3
mov % g0 , %o4
mov % g0 , %o5
mov % g0 , %o6
mov % g0 , %o7
subcc % g3 , 1 , %g3
bge 1b
save
mov 2, % g1
mov %g1, % wim
set 0x10e0 , %g1 ! enable traps
mov % g1 , %psr
nop; nop; nop;
mov % psr , %g1
srl % g1 , 12 , %g1
andcc % g1 , 1 , %g0
be 1f
nop
set _fsrxx, % g3
ld [ %g3], % fsr
ldd [ %g3], % f0
ldd [ %g3], % f2
ldd [ %g3], % f4
ldd [ %g3], % f6
ldd [ %g3], % f8
ldd [ %g3], % f10
ldd [ %g3], % f12
ldd [ %g3], % f14
ldd [ %g3], % f16
ldd [ %g3], % f18
ldd [ %g3], % f20
ldd [ %g3], % f22
ldd [ %g3], % f24
ldd [ %g3], % f26
ldd [ %g3], % f28
ldd [ %g3], % f30
nop
nop
nop
nop
nop
faddd %f0, % f2 , %f4
nop
nop
nop
nop
ba 1f
nop
.align 8
_fsrxx:
.word 0
.word 0
1:
set 0xfff00100, % g3
ld [ %g3], % g4
set 0x7c1fffff , %g5
and % g5 , %g4, % g4
set 0x01010000 , %g5
or % g5 , %g4, % g4
st %g4, [% g3]
set 0x80000600 , %g7
set RAMSTART, % g1
st %g1, [% g7 +0 x14]
set 0x0257031f , %g1
st % g1 , [ %g7+4]
set 0x00250038, % g1
st %g1, [% g7 +8 ]
set 0x00060078 , %g1
st % g1 , [ %g7+12]
set 0x0299040f, % g1
st %g1, [% g7 +16 ]
set 0x21 , %g1
! st % g1 , [ %g7]
mov % asr17 , %g3
srl % g3 , 28 , %g3
andcc % g3 , 0x0f , %g3
bne 1f
set L2MCTRLIO, % g1
set MCFG1 , %g2
st % g2 , [ %g1]
set MCFG2, % g2
st %g2, [% g1 +4 ]
set MCFG3 , %g2
st % g2 , [ %g1+8]
! set IRQCTRL, % g1
! set 0x0ffff , %g2
! st % g2 , [ %g1+0x10]
set 0xFFFFF860, % g1
ld [ %g1], % g2
srl %g2, 12, % g2
set 0x01009 , %g1
subcc % g1 , %g2, % g0
bne 1 f
set ASDCFG , %g1
set DSDCFG, % g2
st %g2, [% g1]
! %g3 = cpu index
1: set STACKSIZE, % g2
mov %g0, % g1
2 : subcc %g3, 0, % g0
be 3 f
nop
add %g1, % g2 , %g1
ba 2b
sub % g3 , 1 , %g3
3: set RAMSTART+ RAMSIZE-32, % fp
sub %fp, % g1 , %fp
sub % fp , 96 , %sp
set RAMSTART, % g1
! st %g0, [% g7]
jmp % g1
nop
.align 32
Site-wide shortcuts
/
Use quick search box
g h
Goto home page
g g
Goto my private gists page
g G
Goto my public gists page
g 0-9
Goto bookmarked items from 0-9
n r
New repository page
n g
New gist page
Repositories
g s
Goto summary page
g c
Goto changelog page
g f
Goto files page
g F
Goto files page with file search activated
g p
Goto pull requests page
g o
Goto repository settings
g O
Goto repository access permissions settings
t s
Toggle sidebar on some pages