2
0
Эх сурвалжийг харах

* fixedPreviousFramePointer on sparc

florian 21 жил өмнө
parent
commit
d2bf4b0d92
2 өөрчлөгдсөн 101 нэмэгдсэн , 11 устгасан
  1. 8 4
      rtl/inc/objects.pp
  2. 93 7
      rtl/linux/termios.inc

+ 8 - 4
rtl/inc/objects.pp

@@ -724,14 +724,15 @@ end ['D0'];
 {$ifdef cpusparc}
 {$define FPC_PreviousFramePointer_Implemented}
 asm
+    { flush register windows, so they are stored in the stack }
+    ta      3
     { we have first our own frame }
-    ld [%fp],%i0
-    ld [%i0],%i0
+    ld [%fp+56],%i0
+    ld [%i0+56],%i0
 end;
 {$endif}
 {$ifdef cpupowerpc}
 {$define FPC_PreviousFramePointer_Implemented}
-{$warning FIX ME !!!! }
 asm
     lwz  r3,0(r1)
 end;
@@ -2945,7 +2946,10 @@ BEGIN
 END.
 {
   $Log$
-  Revision 1.33  2004-08-26 22:58:01  carl
+  Revision 1.34  2004-10-03 17:43:47  florian
+    * fixedPreviousFramePointer on sparc
+
+  Revision 1.33  2004/08/26 22:58:01  carl
     * bugfix with file sharing modes. They are now kept, as is the case in BP.
 
   Revision 1.32  2004/06/20 09:24:40  peter

+ 93 - 7
rtl/linux/termios.inc

@@ -1,7 +1,19 @@
 {
-  $Id$
-}
+    $Id$
+    This file is part of the Free Pascal run time library.
+    Copyright (c) 1999-2004 by Marco van de Voort
+    member of the Free Pascal development team
+
+    ioctls constants for linux
+
+    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.
+
+ **********************************************************************}
 {********************
    IOCtl(TermIOS)
 ********************}
@@ -11,7 +23,7 @@ Const
   NCCS = 32;
   NCC = 8;
 
-{$ifdef powerpc}
+{$ifdef cpupowerpc}
   TCGETS            = $402c7413;
   TCSETS            = $802c7414;
   TCSETSW           = $802c7415;
@@ -72,8 +84,9 @@ Const
   TIOCPKT_START     = $8;
   TIOCPKT_NOSTOP    = $10;
   TIOCPKT_DOSTOP    = $20;
+{$endif}
 
-{$else}
+{$ifdef cpui386}
   { For Terminal handling }
   TCGETS          = $5401;
   TCSETS          = $5402;
@@ -136,8 +149,78 @@ Const
   TIOCPKT_START      = 8;
   TIOCPKT_NOSTOP     = 16;
   TIOCPKT_DOSTOP     = 32;
+{$endif cpui386}
+
+{$ifdef cpusparc}
+  TCGETA = $40125401;
+  TCSETA = $80125402;
+  TCSETAW = $80125403;
+  TCSETAF = $80125404;
+  TCSBRK = $20005405;
+  TCXONC = $20005406;
+  TCFLSH = $20005407;
+  TCGETS = $40245408;
+  TCSETS = $80245409;
+  TCSETSW = $8024540a;
+  TCSETSF = $8024540b;
+  TIOCGETD = $40047400;
+  TIOCSETD = $80047401;
+  TIOCEXCL = $2000740d;
+  TIOCNXCL = $2000740e;
+  TIOCCONS = $20007424;
+  TIOCGSOFTCAR = $40047464;
+  TIOCSSOFTCAR = $80047465;
+  TIOCSWINSZ = $80087467;
+  TIOCGWINSZ = $40087468;
+  TIOCMGET = $4004746a;
+  TIOCMBIC = $8004746b;
+  TIOCMBIS = $8004746c;
+  TIOCMSET = $8004746d;
+  TIOCSTART = $2000746e;
+  TIOCSTOP = $2000746f;
+  TIOCPKT = $80047470;
+  TIOCNOTTY = $20007471;
+  TIOCSTI = $80017472;
+  TIOCOUTQ = $40047473;
+  TIOCCBRK = $2000747a;
+  TIOCSBRK = $2000747b;
+  TIOCSPGRP = $80047482;
+  TIOCGPGRP = $40047483;
+  TIOCSCTTY = $20007484;
+  TIOCGSID = $40047485;
+  TIOCGPTN = $40047486;
+  TIOCSPTLCK = $80047487;
+  FIOCLEX = $20006601;
+  FIONCLEX = $20006602;
+  FIOASYNC = $8004667d;
+  FIONBIO = $8004667e;
+  FIONREAD = $4004667f;
+  TIOCINQ = $4004667f;
+  TIOCLINUX = $541c;
+  TIOCGSERIAL = $541e;
+  TIOCSSERIAL = $541f;
+  TCSBRKP = $5425;
+  TIOCTTYGSTRUCT = $5426;
+  TIOCSERCONFIG = $5453;
+  TIOCSERGWILD = $5454;
+  TIOCSERSWILD = $5455;
+  TIOCGLCKTRMIOS = $5456;
+  TIOCSLCKTRMIOS = $5457;
+  TIOCSERGSTRUCT = $5458;
+  TIOCSERGETLSR = $5459;
+  TIOCSERGETMULTI = $545a;
+  TIOCSERSETMULTI = $545b;
+  TIOCMIWAIT = $545c;
+  TIOCGICOUNT = $545d;
+  TIOCPKT_DATA = $0;
+  TIOCPKT_FLUSHREAD = $1;
+  TIOCPKT_FLUSHWRITE = $2;
+  TIOCPKT_STOP = $4;
+  TIOCPKT_START = $8;
+  TIOCPKT_NOSTOP = $10;
+  TIOCPKT_DOSTOP = $20;
+{$endif cpusparc}
 
-{$endif}
 Type
   winsize = packed record
     ws_row,
@@ -333,7 +416,10 @@ const
 
 {
   $Log$
-  Revision 1.7  2004-02-21 16:24:47  marco
+  Revision 1.8  2004-10-03 17:43:47  florian
+    * fixedPreviousFramePointer on sparc
+
+  Revision 1.7  2004/02/21 16:24:47  marco
    * ppc ioctl nr fixed
 
-}
+}