Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Jan 2002 18:21:08 +0100
From:      Bernd Walter <ticso@cicely8.cicely.de>
To:        Daniel Eischen <eischen@pcnet1.pcnet.com>
Cc:        alpha@FreeBSD.ORG
Subject:   Re: {get,set,make,swap}context for alpha
Message-ID:  <20020104182107.D8703@cicely8.cicely.de>
In-Reply-To: <20020104174613.C8703@cicely8.cicely.de>
References:  <20020104143622.A8703@cicely8.cicely.de> <Pine.SUN.3.91.1020104092820.20776A-100000@pcnet1.pcnet.com> <20020104174613.C8703@cicely8.cicely.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jan 04, 2002 at 05:46:13PM +0100, Bernd Walter wrote:
> What I found so far with the core dump is that proc3 is called with a
> bogus t12 value.
> I still have to search why.

--- _ctx_start.S.orig   Fri Jan  4 18:15:18 2002
+++ _ctx_start.S        Fri Jan  4 18:13:26 2002
@@ -40,6 +40,7 @@
        .set    noreorder
 LEAF(_ctx_start,0)
        LDGP(pv)
+       mov     s0, t12
        jsr     ra, (s0)        /* call start routine; args already set */
        mov     s1, a0          /* load A0 (arg 1) with pointer to ucontext */
        CALL(_ctx_done)         /* call context completion routine */

ticso@cicely9# ./test_context 
Send a few SIGUSR1's to pid 65418
Main: setting context to myself.
Main: returned from setcontext.
Proc3 called with arguments (1)
Proc3: working...
Proc3: working...
Proc3: working...
Proc3: working...
Proc3: working...
Proc3: returned from getcontext, count 1
Proc3: working...
Proc3: working...
Proc3: working...
Proc3: working...
Proc3: done.
Leaving main context.
Proc1 called with arguments (2, 10)
Proc1: working...
Proc1: working...
Proc1: working...
Proc1: working...
Proc1: working...
Proc2 called with arguments (6, 5, 4, 3, 2, 1)
Proc2: working...
Proc2: working...
Proc2: working...
Proc2: working...
Proc2: working...
Proc1: return from switch.
Proc1: working...
Proc1: working...
Proc1: working...
Proc1: working...
Proc2: return from switch.
Proc2: working...
Proc2: working...
Proc2: working...
Proc2: working...
Main context returned.
ticso@cicely9# uname -a
FreeBSD cicely9.cicely.de 5.0-CURRENT FreeBSD 5.0-CURRENT #1: Thu Jan  3 13:31:07 CET 2002     root@:/var/d7/FreeBSD-2002-01-02/src/sys/alpha/compile/CICELY9  alpha

Signaling does not work, yet:
ticso@cicely9# ./test_context
Send a few SIGUSR1's to pid 65430
Main: setting context to myself.
Main: returned from setcontext.
Proc3 called with arguments (1)
Proc3: working...
Proc3: working...
Proc3: working...
Proc3: working...
Proc3: working...
Proc3: returned from getcontext, count 1
Got signal 30, uc_rev 0x0
Assertion failed: (setcontext(ucp) == 0), function sighandler, file test_context.c, line 77.
Abort (core dumped)
Exit 134

-- 
B.Walter              COSMO-Project         http://www.cosmo-project.de
ticso@cicely.de         Usergroup           info@cosmo-project.de


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020104182107.D8703>