summaryrefslogtreecommitdiff
path: root/linux-user
diff options
context:
space:
mode:
authorEdgar E. Iglesias <edgar.iglesias@gmail.com>2010-07-15 15:32:51 +0200
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>2010-07-15 15:32:51 +0200
commit187b4e08d37c5e6359c0537f79a04fffbc7357bd (patch)
treea5375ceb430c45d8be698499ca5f11a9712a532f /linux-user
parentfed61bbe3235f0a3507bfb688354bc0431743133 (diff)
downloadqemu-187b4e08d37c5e6359c0537f79a04fffbc7357bd.tar.gz
microblaze: Correct signal frame setup.
Pass the context in r7. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Diffstat (limited to 'linux-user')
-rw-r--r--linux-user/signal.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/linux-user/signal.c b/linux-user/signal.c
index e5a187e106..cc0cb10cd0 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -3213,7 +3213,8 @@ static void setup_frame(int sig, struct target_sigaction *ka,
env->regs[1] = (unsigned long) frame;
/* Signal handler args: */
env->regs[5] = sig; /* Arg 0: signum */
- env->regs[6] = (unsigned long) &frame->sc; /* arg 1: sigcontext */
+ env->regs[6] = 0;
+ env->regs[7] = (unsigned long) &frame->sc; /* arg 1: sigcontext */
/* Offset of 4 to handle microblaze rtid r14, 0 */
env->sregs[SR_PC] = (unsigned long)ka->_sa_handler;