[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] SPARC user mode multithread
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] SPARC user mode multithread |
Date: |
Fri, 6 Nov 2009 20:31:23 +0200 |
On Thu, Nov 5, 2009 at 10:29 PM, David Munday <address@hidden> wrote:
> Hi,
> I found the Linux/Sparc clone operations in copy_thread() from process32.c
> (attached)
Forgot to attach?
> I tried modifying cpu_clone_regs with the following code per the Sparc/linux
> routines, but qemu still stalls on signal suspend.
>
> It seems like it should only need to set the stack pointer and the return
> addresses for the child and parent processes, but it's clearly missing
> something.
>
> Is there more to this fix than these two assignments?
>
> static inline void cpu_clone_regs(CPUState *PARENT_env, CPUState *child_env,
> target_ulong newsp)
> {
> if (newsp)
> {
> child_env->regwptr[14] = newsp; //changed to 14 per process32.c DM
> //env->regwptr[22] = newsp;
But 14 would be l6, not i6.
> printf("setting stack pointer\n");
> }
> child_env->regwptr[0] = 0;
This should be the pid.