--- fiasco-1.0/l4/kernel/fiasco/src/kern/ia32/shortcut.S Thu Mar 20 15:08:35 2003 +++ fiasco-patches/l4/kernel/fiasco/src/kern/ia32/shortcut.S Fri Apr 25 10:17:51 2003 @@ -211,7 +211,11 @@ movl %ecx, REG_EBX (%eax) // dest_regs->ebx = ebx movl $RETURN_DOPE, REG_EAX (%eax) // dest_regs->eax = DOPE(3,0) movl OFS__THREAD__ID (THIS_ebx), %edx +#ifdef CONFIG_ABI_X0 + movl REG_EDI (REGS_esp), %ecx +#else movl OFS__THREAD__ID+4 (THIS_ebx), %ecx +#endif movl %edx, REG_ESI (%eax) // dest_regs->esi = id.low movl %ecx, REG_EDI (%eax) // dest_regs->edi = id.high @@ -589,7 +593,11 @@ movl %ecx, REG_EBX (%eax) // dest_regs->ebx = ebx movl $RETURN_DOPE, REG_EAX (%eax) // dest_regs->eax = DOPE(3,0) movl OFS__THREAD__ID (THIS_ebx), %edx +#ifdef CONFIG_ABI_X0 + movl REG_EDI (REGS_esp), %ecx +#else movl OFS__THREAD__ID+4 (THIS_ebx), %ecx +#endif movl %edx, REG_ESI (%eax) // dest_regs->esi = id.low movl %ecx, REG_EDI (%eax) // dest_regs->edi = id.high