+ routines in baseunix can be overriden by processor specifics in bsyscall.inc

This commit is contained in:
florian 2005-03-03 20:58:38 +00:00
parent a6b7be5ca1
commit 314fe14247
11 changed files with 211 additions and 42 deletions

View File

@ -0,0 +1,20 @@
{
$Id$
This file is part of the Free Pascal run time library.
Copyright (c) 2005 by Michael Van Canneyt,
member of the Free Pascal development team.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{
$Log$
Revision 1.1 2005-03-03 20:58:38 florian
+ routines in baseunix can be overriden by processor specifics in bsyscall.inc
}

View File

@ -0,0 +1,20 @@
{
$Id$
This file is part of the Free Pascal run time library.
Copyright (c) 2005 by Michael Van Canneyt,
member of the Free Pascal development team.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{
$Log$
Revision 1.1 2005-03-03 20:58:38 florian
+ routines in baseunix can be overriden by processor specifics in bsyscall.inc
}

View File

@ -0,0 +1,20 @@
{
$Id$
This file is part of the Free Pascal run time library.
Copyright (c) 2005 by Michael Van Canneyt,
member of the Free Pascal development team.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{
$Log$
Revision 1.1 2005-03-03 20:58:38 florian
+ routines in baseunix can be overriden by processor specifics in bsyscall.inc
}

View File

@ -338,13 +338,13 @@ begin
end;
{$ifndef FPC_SYSTEM_HAS_FPPIPE}
{$ifndef FPC_BASEUNIX_HAS_FPPIPE}
Function fppipe(var fildes : tfildes):cint;
begin
fppipe:=do_syscall(syscall_nr_pipe,TSysParam(@fildes));
end;
{$endif FPC_SYSTEM_HAS_FPPIPE}
{$endif FPC_BASEUNIX_HAS_FPPIPE}
function fpfcntl(fildes:cint;Cmd:cint;Arg:cint):cint;
@ -534,7 +534,10 @@ end;
{
$Log$
Revision 1.3 2005-03-03 20:13:44 florian
Revision 1.4 2005-03-03 20:58:38 florian
+ routines in baseunix can be overriden by processor specifics in bsyscall.inc
Revision 1.3 2005/03/03 20:13:44 florian
+ sparc specific pipe implementation
Revision 1.2 2005/02/14 17:13:30 peter

View File

@ -0,0 +1,20 @@
{
$Id$
This file is part of the Free Pascal run time library.
Copyright (c) 2005 by Michael Van Canneyt,
member of the Free Pascal development team.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{
$Log$
Revision 1.1 2005-03-03 20:58:38 florian
+ routines in baseunix can be overriden by processor specifics in bsyscall.inc
}

View File

@ -0,0 +1,20 @@
{
$Id$
This file is part of the Free Pascal run time library.
Copyright (c) 2005 by Michael Van Canneyt,
member of the Free Pascal development team.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{
$Log$
Revision 1.1 2005-03-03 20:58:38 florian
+ routines in baseunix can be overriden by processor specifics in bsyscall.inc
}

View File

@ -0,0 +1,20 @@
{
$Id$
This file is part of the Free Pascal run time library.
Copyright (c) 2005 by Michael Van Canneyt,
member of the Free Pascal development team.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{
$Log$
Revision 1.1 2005-03-03 20:58:38 florian
+ routines in baseunix can be overriden by processor specifics in bsyscall.inc
}

View File

@ -0,0 +1,56 @@
{
$Id$
This file is part of the Free Pascal run time library.
Copyright (c) 2005 by Michael Van Canneyt,
member of the Free Pascal development team.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{$define FPC_BASEUNIX_HAS_FPPIPE}
Function fppipe(var fildes : tfildes):cint;assembler;
{
This function puts the registers in place, does the call, and then
copies back the registers as they are after the SysCall.
}
asm
mov 42,%g1
mov %i0,%o0
ta 0x10
bcc .LSyscOK
nop
mov %o0,%l0
sethi %hi(fpc_threadvar_relocate_proc),%o2
or %o2,%lo(fpc_threadvar_relocate_proc),%o2
ld [%o2],%o3
subcc %o3,%g0,%g0
bne .LThread
nop
sethi %hi(Errno+4),%o0
ba .LNoThread
or %o0,%lo(Errno+4),%o0
.LThread:
sethi %hi(Errno),%o0
or %o0,%lo(Errno),%o0
call %o3
ld [%o0],%o0
.LNoThread:
st %l0,[%o0]
mov -1,%o0
.LSyscOK:
st [%i0],%o0
st [%i0+4],%o1
end;
{
$Log$
Revision 1.1 2005-03-03 20:58:38 florian
+ routines in baseunix can be overriden by processor specifics in bsyscall.inc
}

View File

@ -58,43 +58,6 @@ asm
end;
{$define FPC_SYSTEM_HAS_FPPIPE}
Function fppipe(var fildes : tfildes):cint;assembler;
{
This function puts the registers in place, does the call, and then
copies back the registers as they are after the SysCall.
}
asm
mov 42,%g1
mov %i0,%o0
ta 0x10
bcc .LSyscOK
nop
mov %o0,%l0
sethi %hi(fpc_threadvar_relocate_proc),%o2
or %o2,%lo(fpc_threadvar_relocate_proc),%o2
ld [%o2],%o3
subcc %o3,%g0,%g0
bne .LThread
nop
sethi %hi(Errno+4),%o0
ba .LNoThread
or %o0,%lo(Errno+4),%o0
.LThread:
sethi %hi(Errno),%o0
or %o0,%lo(Errno),%o0
call %o3
ld [%o0],%o0
.LNoThread:
st %l0,[%o0]
mov -1,%o0
.LSyscOK:
st [%i0],%o0
st [%i0+4],%o1
end;
{*****************************************************************************
--- Main:The System Call Self ---
*****************************************************************************}
@ -354,7 +317,10 @@ end;
{
$Log$
Revision 1.18 2005-03-03 20:13:44 florian
Revision 1.19 2005-03-03 20:58:38 florian
+ routines in baseunix can be overriden by processor specifics in bsyscall.inc
Revision 1.18 2005/03/03 20:13:44 florian
+ sparc specific pipe implementation
Revision 1.17 2005/02/14 17:13:30 peter

View File

@ -0,0 +1,20 @@
{
$Id$
This file is part of the Free Pascal run time library.
Copyright (c) 2005 by Michael Van Canneyt,
member of the Free Pascal development team.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{
$Log$
Revision 1.1 2005-03-03 20:58:38 florian
+ routines in baseunix can be overriden by processor specifics in bsyscall.inc
}

View File

@ -82,6 +82,7 @@ end;
{$ifndef FPC_USE_LIBC}
{$i syscallh.inc} // do_syscall declarations themselves
{$i sysnr.inc} // syscall numbers.
{$i bsyscall.inc} // cpu specific syscalls
{$i bunxsysc.inc} // syscalls in system unit.
{$i settimeo.inc}
{$endif}
@ -92,7 +93,10 @@ end;
end.
{
$Log$
Revision 1.3 2005-02-14 17:13:31 peter
Revision 1.4 2005-03-03 20:58:38 florian
+ routines in baseunix can be overriden by processor specifics in bsyscall.inc
Revision 1.3 2005/02/14 17:13:31 peter
* truncate log
Revision 1.2 2005/02/13 21:47:56 peter