setup_sigcontext(struct target_sigcontext *sc, struct target_fpstate *fpstate,

		 CPUX86State *env, abi_ulong mask, abi_ulong fpstate_addr)

{

    CPUState *cs = CPU(x86_env_get_cpu(env));

    int err = 0;

    uint16_t magic;



	/* already locked in setup_frame() */

    __put_user(env->segs[R_GS].selector, (unsigned int *)&sc->gs);

    __put_user(env->segs[R_FS].selector, (unsigned int *)&sc->fs);

    __put_user(env->segs[R_ES].selector, (unsigned int *)&sc->es);

    __put_user(env->segs[R_DS].selector, (unsigned int *)&sc->ds);

    __put_user(env->regs[R_EDI], &sc->edi);

    __put_user(env->regs[R_ESI], &sc->esi);

    __put_user(env->regs[R_EBP], &sc->ebp);

    __put_user(env->regs[R_ESP], &sc->esp);

    __put_user(env->regs[R_EBX], &sc->ebx);

    __put_user(env->regs[R_EDX], &sc->edx);

    __put_user(env->regs[R_ECX], &sc->ecx);

    __put_user(env->regs[R_EAX], &sc->eax);

    __put_user(cs->exception_index, &sc->trapno);

    __put_user(env->error_code, &sc->err);

    __put_user(env->eip, &sc->eip);

    __put_user(env->segs[R_CS].selector, (unsigned int *)&sc->cs);

    __put_user(env->eflags, &sc->eflags);

    __put_user(env->regs[R_ESP], &sc->esp_at_signal);

    __put_user(env->segs[R_SS].selector, (unsigned int *)&sc->ss);



        cpu_x86_fsave(env, fpstate_addr, 1);

        fpstate->status = fpstate->sw;

        magic = 0xffff;

    __put_user(magic, &fpstate->magic);

    __put_user(fpstate_addr, &sc->fpstate);



	/* non-iBCS2 extensions.. */

    __put_user(mask, &sc->oldmask);

    __put_user(env->cr[2], &sc->cr2);

	return err;

}

setup_sigcontext(struct target_sigcontext *sc, struct target_fpstate *fpstate,

		 CPUX86State *env, abi_ulong mask, abi_ulong fpstate_addr)

{

    CPUState *cs = CPU(x86_env_get_cpu(env));

    int err = 0;

    uint16_t magic;



	

    __put_user(env->segs[R_GS].selector, (unsigned int *)&sc->gs);

    __put_user(env->segs[R_FS].selector, (unsigned int *)&sc->fs);

    __put_user(env->segs[R_ES].selector, (unsigned int *)&sc->es);

    __put_user(env->segs[R_DS].selector, (unsigned int *)&sc->ds);

    __put_user(env->regs[R_EDI], &sc->edi);

    __put_user(env->regs[R_ESI], &sc->esi);

    __put_user(env->regs[R_EBP], &sc->ebp);

    __put_user(env->regs[R_ESP], &sc->esp);

    __put_user(env->regs[R_EBX], &sc->ebx);

    __put_user(env->regs[R_EDX], &sc->edx);

    __put_user(env->regs[R_ECX], &sc->ecx);

    __put_user(env->regs[R_EAX], &sc->eax);

    __put_user(cs->exception_index, &sc->trapno);

    __put_user(env->error_code, &sc->err);

    __put_user(env->eip, &sc->eip);

    __put_user(env->segs[R_CS].selector, (unsigned int *)&sc->cs);

    __put_user(env->eflags, &sc->eflags);

    __put_user(env->regs[R_ESP], &sc->esp_at_signal);

    __put_user(env->segs[R_SS].selector, (unsigned int *)&sc->ss);



        cpu_x86_fsave(env, fpstate_addr, 1);

        fpstate->status = fpstate->sw;

        magic = 0xffff;

    __put_user(magic, &fpstate->magic);

    __put_user(fpstate_addr, &sc->fpstate);



	

    __put_user(mask, &sc->oldmask);

    __put_user(env->cr[2], &sc->cr2);

	return err;

}

FUNC_0(struct target_sigcontext *VAR_0, struct target_fpstate *VAR_1,

		 CPUX86State *VAR_2, abi_ulong VAR_3, abi_ulong VAR_4)

{

    CPUState *cs = CPU(x86_env_get_cpu(VAR_2));

    int VAR_5 = 0;

    uint16_t magic;



	

    __put_user(VAR_2->segs[R_GS].selector, (unsigned int *)&VAR_0->gs);

    __put_user(VAR_2->segs[R_FS].selector, (unsigned int *)&VAR_0->fs);

    __put_user(VAR_2->segs[R_ES].selector, (unsigned int *)&VAR_0->es);

    __put_user(VAR_2->segs[R_DS].selector, (unsigned int *)&VAR_0->ds);

    __put_user(VAR_2->regs[R_EDI], &VAR_0->edi);

    __put_user(VAR_2->regs[R_ESI], &VAR_0->esi);

    __put_user(VAR_2->regs[R_EBP], &VAR_0->ebp);

    __put_user(VAR_2->regs[R_ESP], &VAR_0->esp);

    __put_user(VAR_2->regs[R_EBX], &VAR_0->ebx);

    __put_user(VAR_2->regs[R_EDX], &VAR_0->edx);

    __put_user(VAR_2->regs[R_ECX], &VAR_0->ecx);

    __put_user(VAR_2->regs[R_EAX], &VAR_0->eax);

    __put_user(cs->exception_index, &VAR_0->trapno);

    __put_user(VAR_2->error_code, &VAR_0->VAR_5);

    __put_user(VAR_2->eip, &VAR_0->eip);

    __put_user(VAR_2->segs[R_CS].selector, (unsigned int *)&VAR_0->cs);

    __put_user(VAR_2->eflags, &VAR_0->eflags);

    __put_user(VAR_2->regs[R_ESP], &VAR_0->esp_at_signal);

    __put_user(VAR_2->segs[R_SS].selector, (unsigned int *)&VAR_0->ss);



        cpu_x86_fsave(VAR_2, VAR_4, 1);

        VAR_1->status = VAR_1->sw;

        magic = 0xffff;

    __put_user(magic, &VAR_1->magic);

    __put_user(VAR_4, &VAR_0->VAR_1);



	

    __put_user(VAR_3, &VAR_0->oldmask);

    __put_user(VAR_2->cr[2], &VAR_0->cr2);

	return VAR_5;

}

FUNC_0(struct target_sigcontext *VAR_0, struct target_fpstate *VAR_1,
CPUX86State *VAR_2, abi_ulong VAR_3, abi_ulong VAR_4)
{ CPUState *cs = CPU(x86_env_get_cpu(VAR_2)); int VAR_5 = 0; uint16_t magic; __put_user(VAR_2->segs[R_GS].selector, (unsigned int *)&VAR_0->gs); __put_user(VAR_2->segs[R_FS].selector, (unsigned int *)&VAR_0->fs); __put_user(VAR_2->segs[R_ES].selector, (unsigned int *)&VAR_0->es); __put_user(VAR_2->segs[R_DS].selector, (unsigned int *)&VAR_0->ds); __put_user(VAR_2->regs[R_EDI], &VAR_0->edi); __put_user(VAR_2->regs[R_ESI], &VAR_0->esi); __put_user(VAR_2->regs[R_EBP], &VAR_0->ebp); __put_user(VAR_2->regs[R_ESP], &VAR_0->esp); __put_user(VAR_2->regs[R_EBX], &VAR_0->ebx); __put_user(VAR_2->regs[R_EDX], &VAR_0->edx); __put_user(VAR_2->regs[R_ECX], &VAR_0->ecx); __put_user(VAR_2->regs[R_EAX], &VAR_0->eax); __put_user(cs->exception_index, &VAR_0->trapno); __put_user(VAR_2->error_code, &VAR_0->VAR_5); __put_user(VAR_2->eip, &VAR_0->eip); __put_user(VAR_2->segs[R_CS].selector, (unsigned int *)&VAR_0->cs); __put_user(VAR_2->eflags, &VAR_0->eflags); __put_user(VAR_2->regs[R_ESP], &VAR_0->esp_at_signal); __put_user(VAR_2->segs[R_SS].selector, (unsigned int *)&VAR_0->ss); cpu_x86_fsave(VAR_2, VAR_4, 1); VAR_1->status = VAR_1->sw; magic = 0xffff; __put_user(magic, &VAR_1->magic); __put_user(VAR_4, &VAR_0->VAR_1); __put_user(VAR_3, &VAR_0->oldmask); __put_user(VAR_2->cr[2], &VAR_0->cr2); return VAR_5; }