mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 21:46:00 +02:00
* started to fix simple mips syscalls
* corrected SA_* values git-svn-id: trunk@20326 -
This commit is contained in:
parent
2959d6064f
commit
16e79969aa
@ -26,19 +26,6 @@ function Fpfork : pid_t; [public, alias : 'FPC_SYSC_FORK'];assembler;
|
|||||||
var
|
var
|
||||||
temp: longint;
|
temp: longint;
|
||||||
asm
|
asm
|
||||||
sw $4,0($23)
|
|
||||||
sw $5,-4($23)
|
|
||||||
sw $6,-8($23)
|
|
||||||
sw $7,-12($23)
|
|
||||||
sw $8,-16($23)
|
|
||||||
sw $9,-20($23)
|
|
||||||
sw $10,-24($23)
|
|
||||||
sw $11,-28($23)
|
|
||||||
sw $12,-32($23)
|
|
||||||
sw $13,-36($23)
|
|
||||||
sw $14,-40($23)
|
|
||||||
addiu $23,$23,-44
|
|
||||||
|
|
||||||
li $2,4002
|
li $2,4002
|
||||||
syscall
|
syscall
|
||||||
nop
|
nop
|
||||||
@ -65,20 +52,6 @@ asm
|
|||||||
.LFailed:
|
.LFailed:
|
||||||
li $2,-1
|
li $2,-1
|
||||||
.LDone:
|
.LDone:
|
||||||
|
|
||||||
addiu $23,$23,44
|
|
||||||
lw $4,0($23)
|
|
||||||
lw $5,-4($23)
|
|
||||||
lw $6,-8($23)
|
|
||||||
lw $7,-12($23)
|
|
||||||
lw $8,-16($23)
|
|
||||||
lw $9,-20($23)
|
|
||||||
lw $10,-24($23)
|
|
||||||
lw $11,-28($23)
|
|
||||||
lw $12,-32($23)
|
|
||||||
lw $13,-36($23)
|
|
||||||
lw $14,-40($23)
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -94,20 +67,7 @@ function FpSysCall(sysnr:TSysParam):TSysResult; assembler;[public,alias:'FPC_SYS
|
|||||||
var
|
var
|
||||||
temp: longint;
|
temp: longint;
|
||||||
asm
|
asm
|
||||||
sw $4,0($23)
|
move $v0,$a0
|
||||||
sw $5,-4($23)
|
|
||||||
sw $6,-8($23)
|
|
||||||
sw $7,-12($23)
|
|
||||||
sw $8,-16($23)
|
|
||||||
sw $9,-20($23)
|
|
||||||
sw $10,-24($23)
|
|
||||||
sw $11,-28($23)
|
|
||||||
sw $12,-32($23)
|
|
||||||
sw $13,-36($23)
|
|
||||||
sw $14,-40($23)
|
|
||||||
addiu $23,$23,-44
|
|
||||||
|
|
||||||
move $2,$4
|
|
||||||
syscall
|
syscall
|
||||||
nop
|
nop
|
||||||
beq $7,$0,.LDone
|
beq $7,$0,.LDone
|
||||||
@ -133,20 +93,6 @@ asm
|
|||||||
.LFailed:
|
.LFailed:
|
||||||
li $2,-1
|
li $2,-1
|
||||||
.LDone:
|
.LDone:
|
||||||
|
|
||||||
addiu $23,$23,44
|
|
||||||
lw $4,0($23)
|
|
||||||
lw $5,-4($23)
|
|
||||||
lw $6,-8($23)
|
|
||||||
lw $7,-12($23)
|
|
||||||
lw $8,-16($23)
|
|
||||||
lw $9,-20($23)
|
|
||||||
lw $10,-24($23)
|
|
||||||
lw $11,-28($23)
|
|
||||||
lw $12,-32($23)
|
|
||||||
lw $13,-36($23)
|
|
||||||
lw $14,-40($23)
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -158,22 +104,8 @@ function FpSysCall(sysnr,param1:TSysParam):TSysResult; assembler;[public,alias:'
|
|||||||
var
|
var
|
||||||
temp: longint;
|
temp: longint;
|
||||||
asm
|
asm
|
||||||
sw $4,0($23)
|
move $v0,$a0
|
||||||
sw $5,-4($23)
|
move $a0,$a1
|
||||||
sw $6,-8($23)
|
|
||||||
sw $7,-12($23)
|
|
||||||
sw $8,-16($23)
|
|
||||||
sw $9,-20($23)
|
|
||||||
sw $10,-24($23)
|
|
||||||
sw $11,-28($23)
|
|
||||||
sw $12,-32($23)
|
|
||||||
sw $13,-36($23)
|
|
||||||
sw $14,-40($23)
|
|
||||||
addiu $23,$23,-44
|
|
||||||
|
|
||||||
|
|
||||||
move $2,$4
|
|
||||||
move $4,$5
|
|
||||||
syscall
|
syscall
|
||||||
nop
|
nop
|
||||||
beq $7,$0,.LDone
|
beq $7,$0,.LDone
|
||||||
@ -199,20 +131,6 @@ asm
|
|||||||
.LFailed:
|
.LFailed:
|
||||||
li $2,-1
|
li $2,-1
|
||||||
.LDone:
|
.LDone:
|
||||||
|
|
||||||
addiu $23,$23,44
|
|
||||||
lw $4,0($23)
|
|
||||||
lw $5,-4($23)
|
|
||||||
lw $6,-8($23)
|
|
||||||
lw $7,-12($23)
|
|
||||||
lw $8,-16($23)
|
|
||||||
lw $9,-20($23)
|
|
||||||
lw $10,-24($23)
|
|
||||||
lw $11,-28($23)
|
|
||||||
lw $12,-32($23)
|
|
||||||
lw $13,-36($23)
|
|
||||||
lw $14,-40($23)
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -224,23 +142,9 @@ function FpSysCall(sysnr,param1,param2:TSysParam):TSysResult; assembler;[public,
|
|||||||
var
|
var
|
||||||
temp: longint;
|
temp: longint;
|
||||||
asm
|
asm
|
||||||
sw $4,0($23)
|
move $v0,$a0
|
||||||
sw $5,-4($23)
|
move $a0,$a1
|
||||||
sw $6,-8($23)
|
move $a1,$a2
|
||||||
sw $7,-12($23)
|
|
||||||
sw $8,-16($23)
|
|
||||||
sw $9,-20($23)
|
|
||||||
sw $10,-24($23)
|
|
||||||
sw $11,-28($23)
|
|
||||||
sw $12,-32($23)
|
|
||||||
sw $13,-36($23)
|
|
||||||
sw $14,-40($23)
|
|
||||||
addiu $23,$23,-44
|
|
||||||
|
|
||||||
|
|
||||||
move $2,$4
|
|
||||||
move $4,$5
|
|
||||||
move $5,$6
|
|
||||||
syscall
|
syscall
|
||||||
nop
|
nop
|
||||||
beq $7,$0,.LDone
|
beq $7,$0,.LDone
|
||||||
@ -266,20 +170,6 @@ asm
|
|||||||
.LFailed:
|
.LFailed:
|
||||||
li $2,-1
|
li $2,-1
|
||||||
.LDone:
|
.LDone:
|
||||||
|
|
||||||
addiu $23,$23,44
|
|
||||||
lw $4,0($23)
|
|
||||||
lw $5,-4($23)
|
|
||||||
lw $6,-8($23)
|
|
||||||
lw $7,-12($23)
|
|
||||||
lw $8,-16($23)
|
|
||||||
lw $9,-20($23)
|
|
||||||
lw $10,-24($23)
|
|
||||||
lw $11,-28($23)
|
|
||||||
lw $12,-32($23)
|
|
||||||
lw $13,-36($23)
|
|
||||||
lw $14,-40($23)
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -291,24 +181,10 @@ function FpSysCall(sysnr,param1,param2,param3:TSysParam):TSysResult; assembler;[
|
|||||||
var
|
var
|
||||||
temp: longint;
|
temp: longint;
|
||||||
asm
|
asm
|
||||||
sw $4,0($23)
|
move $v0,$a0
|
||||||
sw $5,-4($23)
|
move $a0,$a1
|
||||||
sw $6,-8($23)
|
move $a1,$a2
|
||||||
sw $7,-12($23)
|
move $a2,$a3
|
||||||
sw $8,-16($23)
|
|
||||||
sw $9,-20($23)
|
|
||||||
sw $10,-24($23)
|
|
||||||
sw $11,-28($23)
|
|
||||||
sw $12,-32($23)
|
|
||||||
sw $13,-36($23)
|
|
||||||
sw $14,-40($23)
|
|
||||||
addiu $23,$23,-44
|
|
||||||
|
|
||||||
|
|
||||||
move $2,$4
|
|
||||||
move $4,$5
|
|
||||||
move $5,$6
|
|
||||||
move $6,$7
|
|
||||||
syscall
|
syscall
|
||||||
nop
|
nop
|
||||||
beq $7,$0,.LDone
|
beq $7,$0,.LDone
|
||||||
@ -334,20 +210,6 @@ asm
|
|||||||
.LFailed:
|
.LFailed:
|
||||||
li $2,-1
|
li $2,-1
|
||||||
.LDone:
|
.LDone:
|
||||||
|
|
||||||
addiu $23,$23,44
|
|
||||||
lw $4,0($23)
|
|
||||||
lw $5,-4($23)
|
|
||||||
lw $6,-8($23)
|
|
||||||
lw $7,-12($23)
|
|
||||||
lw $8,-16($23)
|
|
||||||
lw $9,-20($23)
|
|
||||||
lw $10,-24($23)
|
|
||||||
lw $11,-28($23)
|
|
||||||
lw $12,-32($23)
|
|
||||||
lw $13,-36($23)
|
|
||||||
lw $14,-40($23)
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -359,25 +221,11 @@ function FpSysCall(sysnr,param1,param2,param3,param4:TSysParam):TSysResult; asse
|
|||||||
var
|
var
|
||||||
temp: longint;
|
temp: longint;
|
||||||
asm
|
asm
|
||||||
sw $4,0($23)
|
move $v0,$a0
|
||||||
sw $5,-4($23)
|
move $a0,$a1
|
||||||
sw $6,-8($23)
|
move $a1,$a2
|
||||||
sw $7,-12($23)
|
move $a2,$a3
|
||||||
sw $8,-16($23)
|
lw $a3,16($sp)
|
||||||
sw $9,-20($23)
|
|
||||||
sw $10,-24($23)
|
|
||||||
sw $11,-28($23)
|
|
||||||
sw $12,-32($23)
|
|
||||||
sw $13,-36($23)
|
|
||||||
sw $14,-40($23)
|
|
||||||
addiu $23,$23,-44
|
|
||||||
|
|
||||||
|
|
||||||
move $2,$4
|
|
||||||
move $4,$5
|
|
||||||
move $5,$6
|
|
||||||
move $6,$7
|
|
||||||
move $7,$8
|
|
||||||
syscall
|
syscall
|
||||||
nop
|
nop
|
||||||
beq $7,$0,.LDone
|
beq $7,$0,.LDone
|
||||||
@ -403,20 +251,6 @@ asm
|
|||||||
.LFailed:
|
.LFailed:
|
||||||
li $2,-1
|
li $2,-1
|
||||||
.LDone:
|
.LDone:
|
||||||
|
|
||||||
addiu $23,$23,44
|
|
||||||
lw $4,0($23)
|
|
||||||
lw $5,-4($23)
|
|
||||||
lw $6,-8($23)
|
|
||||||
lw $7,-12($23)
|
|
||||||
lw $8,-16($23)
|
|
||||||
lw $9,-20($23)
|
|
||||||
lw $10,-24($23)
|
|
||||||
lw $11,-28($23)
|
|
||||||
lw $12,-32($23)
|
|
||||||
lw $13,-36($23)
|
|
||||||
lw $14,-40($23)
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,17 +20,23 @@
|
|||||||
|
|
||||||
Const
|
Const
|
||||||
{ For sending a signal }
|
{ For sending a signal }
|
||||||
{$ifdef SPARC}
|
{$ifdef CPUSPARC}
|
||||||
SA_SIGINFO = $200;
|
SA_SIGINFO = $200;
|
||||||
SA_NOMASK = $20;
|
SA_NOMASK = $20;
|
||||||
|
|
||||||
SIG_BLOCK = 1;
|
SIG_BLOCK = 1;
|
||||||
SIG_UNBLOCK = 2;
|
SIG_UNBLOCK = 2;
|
||||||
SIG_SETMASK = 4;
|
SIG_SETMASK = 4;
|
||||||
{$else SPARC}
|
{$else CPUSPARC}
|
||||||
|
{$ifdef CPUMIPS}
|
||||||
|
SA_NOCLDSTOP = 1;
|
||||||
|
SA_NOCLDWAIT = $10000;
|
||||||
|
SA_SIGINFO = 8;
|
||||||
|
{$else CPUMIPS}
|
||||||
SA_NOCLDSTOP = 1;
|
SA_NOCLDSTOP = 1;
|
||||||
SA_NOCLDWAIT = 2;
|
SA_NOCLDWAIT = 2;
|
||||||
SA_SIGINFO = 4;
|
SA_SIGINFO = 4;
|
||||||
|
{$endif CPUMIPS}
|
||||||
SA_RESTORER = $04000000;
|
SA_RESTORER = $04000000;
|
||||||
SA_ONSTACK = $08000000;
|
SA_ONSTACK = $08000000;
|
||||||
SA_RESTART = $10000000;
|
SA_RESTART = $10000000;
|
||||||
@ -44,7 +50,7 @@ Const
|
|||||||
SIG_BLOCK = 0;
|
SIG_BLOCK = 0;
|
||||||
SIG_UNBLOCK = 1;
|
SIG_UNBLOCK = 1;
|
||||||
SIG_SETMASK = 2;
|
SIG_SETMASK = 2;
|
||||||
{$endif SPARC}
|
{$endif CPUSPARC}
|
||||||
|
|
||||||
SIG_DFL = 0 ;
|
SIG_DFL = 0 ;
|
||||||
SIG_IGN = 1 ;
|
SIG_IGN = 1 ;
|
||||||
@ -186,14 +192,14 @@ type
|
|||||||
signalhandler_t = procedure(signal: longint); cdecl;
|
signalhandler_t = procedure(signal: longint); cdecl;
|
||||||
sigactionhandler_t = procedure(signal: longint; info: psiginfo; context: psigcontext); cdecl;
|
sigactionhandler_t = procedure(signal: longint; info: psiginfo; context: psigcontext); cdecl;
|
||||||
sigrestorerhandler_t = procedure; cdecl;
|
sigrestorerhandler_t = procedure; cdecl;
|
||||||
|
|
||||||
signalhandler = signalhandler_t;
|
signalhandler = signalhandler_t;
|
||||||
sigactionhandler = sigactionhandler_t;
|
sigactionhandler = sigactionhandler_t;
|
||||||
sigrestorerhandler = sigrestorerhandler_t;
|
sigrestorerhandler = sigrestorerhandler_t;
|
||||||
tsignalhandler = signalhandler_t;
|
tsignalhandler = signalhandler_t;
|
||||||
tsigactionhandler = sigactionhandler_t;
|
tsigactionhandler = sigactionhandler_t;
|
||||||
tsigrestorerhandler = sigrestorerhandler_t;
|
tsigrestorerhandler = sigrestorerhandler_t;
|
||||||
|
|
||||||
psigactionrec = ^sigactionrec;
|
psigactionrec = ^sigactionrec;
|
||||||
|
|
||||||
{$ifdef FPC_USE_LIBC} // libc order is different ?
|
{$ifdef FPC_USE_LIBC} // libc order is different ?
|
||||||
|
Loading…
Reference in New Issue
Block a user