diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2016-03-17 09:12:19 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-03-17 11:09:08 +0100 |
commit | 6c4aaf4f3167a9ca2eb2b1ae9b87381a03cb8aa1 (patch) | |
tree | 72a8d00aff9d160aa5022e675e16c0f26cfae726 /c/src/lib/libbsp/sparc/shared/start/start.S | |
parent | sapi: Include missing header file (diff) | |
download | rtems-6c4aaf4f3167a9ca2eb2b1ae9b87381a03cb8aa1.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.
Update #2651.
Diffstat (limited to 'c/src/lib/libbsp/sparc/shared/start/start.S')
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/start/start.S | 2 |
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... |