summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc
diff options
context:
space:
mode:
authorDaniel Hellstrom <daniel@gaisler.com>2016-03-17 09:12:19 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-03-24 07:41:01 +0100
commit33de2037f6007f6adf90514dbc98158a473476fc (patch)
tree36caee6704bfa5c22bfa60606d316b46a63da803 /c/src/lib/libbsp/sparc
parentFilesystem: Export most generic path eval function (diff)
downloadrtems-33de2037f6007f6adf90514dbc98158a473476fc.tar.bz2
sparc: Fix window underflow trap handler
The window underflow trap handler used %i5 which destroyed the %o5 of the calling context. Bug introduced by 0d3b5d47429effb350448d9e9123a67db722109f. Go back to the pre 0d3b5d47429effb350448d9e9123a67db722109f behaviour and use the two unused instructions in the trap vector to optimize a bit. Close #2651.
Diffstat (limited to 'c/src/lib/libbsp/sparc')
-rw-r--r--c/src/lib/libbsp/sparc/shared/start/start.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/start/start.S b/c/src/lib/libbsp/sparc/shared/start/start.S
index f38fe8cb99..3d621fdcea 100644
--- a/c/src/lib/libbsp/sparc/shared/start/start.S
+++ b/c/src/lib/libbsp/sparc/shared/start/start.S
@@ -66,7 +66,7 @@
mov %wim, %l3 ; \
sethi %hi(_handler), %l4 ; \
jmp %l4+%lo(_handler); \
- mov %g0, %wim ! WIM = 0, so that we can restore regardless of WIM
+ sll %l3, 1, %l4 ! l4 = WIM << 1
/*
* Software trap. Treat as BAD_TRAP for the time being...