summaryrefslogtreecommitdiff
path: root/libcpu
diff options
context:
space:
mode:
author[email protected] <[email protected]>2011-12-19 01:46:19 +0000
committer[email protected] <[email protected]>2011-12-19 01:46:19 +0000
commit212d828d3ff4dd0f57e2d2a54a9096f00eb88535 (patch)
tree719cde96559a663b20aec25b85000c43eb37a563 /libcpu
parentda542ee0caed72b8ede963eaeff11e49df29e0ef (diff)
change thread return address.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1848 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'libcpu')
-rwxr-xr-xlibcpu/xilinx/microblaze/stack.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libcpu/xilinx/microblaze/stack.c b/libcpu/xilinx/microblaze/stack.c
index 2f013490c9..6109ce4486 100755
--- a/libcpu/xilinx/microblaze/stack.c
+++ b/libcpu/xilinx/microblaze/stack.c
@@ -48,7 +48,7 @@ rt_uint8_t *rt_hw_stack_init(void *tentry, void *parameter, rt_uint8_t *stack_ad
*stk-- = 0; /* r19 */
*stk-- = 0; /* r18 */
*stk-- = 0; /* r17 */
- *stk-- = (unsigned long) texit; /* r15 = task return address*/
+ *stk-- = (unsigned long) texit - 8; /* r15 = task return address*/
*stk-- = (unsigned long) tentry; /* r14 = entry address*/
*stk-- = (unsigned long) &_SDA_BASE_; /* r13 */
*stk-- = 0; /* r12 */