summaryrefslogtreecommitdiff
path: root/cesar/ecos/packages
diff options
context:
space:
mode:
authorsave2009-01-26 15:00:54 +0000
committersave2009-01-26 15:00:54 +0000
commit13087eece21bcea0d9b4d46884cd0cbdcdd2b433 (patch)
tree7b1038531d92f4b29014108f8ed25eb8a0220d56 /cesar/ecos/packages
parent814c807164073185dd82512d0f50540b175e1b09 (diff)
[CESAR][ECOS]Added the uart configuration + clearing leon registers if we detect that we start without GrMon
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@3879 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'cesar/ecos/packages')
-rw-r--r--cesar/ecos/packages/hal/sparc/leon/current/include/halboot.si22
1 files changed, 22 insertions, 0 deletions
diff --git a/cesar/ecos/packages/hal/sparc/leon/current/include/halboot.si b/cesar/ecos/packages/hal/sparc/leon/current/include/halboot.si
index b8864b2792..b9461aba49 100644
--- a/cesar/ecos/packages/hal/sparc/leon/current/include/halboot.si
+++ b/cesar/ecos/packages/hal/sparc/leon/current/include/halboot.si
@@ -137,6 +137,28 @@
st %l1, [%l0 + 0x88]
4:
+ ! check if we start with GrMon and it initialization
+ set 0x41FFFFF0, %l1
+ xorcc %sp, %l1, %g0
+ be 5f !yes nothing to do
+ nop
+ ! no so make some initialization
+ st %g0, [%l0 + 0x1C] ! clear LEON registers
+ st %g0, [%l0 + 0x20] !
+ st %g0, [%l0 + 0x90] !
+ st %g0, [%l0 + 0x94] !
+ st %g0, [%l0 + 0x98] !
+ st %g0, [%l0 + 0x9C] !
+ st %g0, [%l0 + 0x78] !
+ st %g0, [%l0 + 0x88] !
+ set 0x50, %l1 ! config UART1
+ st %l1, [%l0 + 0x7C]
+ set 6, %l1
+ st %l1, [%l0 + 0x78] ! enable UART1
+
+
+
+5:
! then copy the branch instructions into the vector
rd %tbr, %g1
andn %g1, 0xfff, %g1 ! clear non-address bits