* compile fix for systhrds

This commit is contained in:
peter 2003-06-04 15:18:14 +00:00
parent 23794b6933
commit 617c1e3812

View File

@ -29,7 +29,6 @@ Procedure Do_SysCall( callnr:longint;var regs : SysCallregs );assembler;
copies back the registers as they are after the SysCall.
}
{$ifdef i386}
{$ASMMODE ATT}
{$define fpc_syscall_ok}
asm
{ load the registers... }
@ -54,7 +53,6 @@ asm
popl %ebx
movl %ebx,(%eax)
end;
{$ASMMODE DEFAULT}
{$endif i386}
{$ifdef m68k}
{$define fpc_syscall_ok}
@ -105,6 +103,26 @@ asm
stw r7, 16(r8)
end;
{$endif powerpc}
{$ifdef sparc}
{$define fpc_syscall_ok}
asm
{ we are using the callers register window }
or %i0,%g0,%g1
ld [%i1],%o0
ld [%i1+4],%o1
ld [%i1+8],%o2
ld [%i1+12],%o3
ld [%i1+16],%o4
{ Go ! }
ta 0x10
{ Put back the registers... }
st %o0,[%i1]
st %o1,[%i1+4]
st %o2,[%i1+8]
st %o3,[%i1+12]
st %o4,[%i1+16]
end;
{$endif powerpc}
{$ifndef fpc_syscall_ok}
{$error Cannot decide which processor you have!}
asm
@ -166,7 +184,10 @@ end;
{
$Log$
Revision 1.2 2003-04-22 17:07:55 florian
Revision 1.3 2003-06-04 15:18:14 peter
* compile fix for systhrds
Revision 1.2 2003/04/22 17:07:55 florian
* there where two SYSCALL1 procedures for the powerpc, fixed
Revision 1.1 2002/11/11 21:40:26 marco