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

* added information for future implementation of certain SMP specific API functions

git-svn-id: trunk@29433 -
Tomas Hajny 10 жил өмнө
parent
commit
16d4e39c59

+ 11 - 0
rtl/os2/doscall2.pas

@@ -2181,6 +2181,17 @@ DosAcquireSpinLock    = DOSCALLS.450 - might be simulated using semaphores on no
 DosReleaseSpinLock    = DOSCALLS.451 - might be simulated using semaphores on non-SMP
 DosReleaseSpinLock    = DOSCALLS.451 - might be simulated using semaphores on non-SMP
 DosFreeSpinLock       = DOSCALLS.452 - might be simulated using semaphores on non-SMP
 DosFreeSpinLock       = DOSCALLS.452 - might be simulated using semaphores on non-SMP
 
 
+type
+  TSpinLock = cardinal;
+  HSpinLock = TSpinLock;
+  PSpinLock = ^TSpinLock;
+  PHSpinLock = PSpinLock;
+
+function DosCreateSpinLock (var SpinLock: TSpinLock): cardinal; cdecl;
+procedure DosAcquireSpinLock (SpinLock: TSpinLock); cdecl;
+procedure DosReleaseSpinLock (SpinLock: TSpinLock); cdecl;
+function DosFreeSpinLock (SpinLock: TSpinLock): cardinal; cdecl;
+
  DosQueryModFromEIP - may be simulated by returning empty value if not available or possibly by using data returned by DosQuerySysState (if they are equal across different OS/2 versions?)
  DosQueryModFromEIP - may be simulated by returning empty value if not available or possibly by using data returned by DosQuerySysState (if they are equal across different OS/2 versions?)
 
 
 ___ function Dos16QueryModFromCS (...): ...
 ___ function Dos16QueryModFromCS (...): ...

+ 13 - 0
rtl/os2/doscalls.pas

@@ -5706,7 +5706,20 @@ external 'DOSCALLS' index 358;
 
 
 functionDosGetProcessorStatus (...): cardinal; cdecl;
 functionDosGetProcessorStatus (...): cardinal; cdecl;
 external 'DOSCALLS' index 447;
 external 'DOSCALLS' index 447;
+
  DosSetProcessorStatus = DOSCALLS.448
  DosSetProcessorStatus = DOSCALLS.448
+
+type
+  TSpinLock = cardinal;
+  HSpinLock = TSpinLock;
+  PSpinLock = ^TSpinLock;
+  PHSpinLock = PSpinLock;
+
+function DosCreateSpinLock (var SpinLock: TSpinLock): cardinal; cdecl;
+procedure DosAcquireSpinLock (SpinLock: TSpinLock); cdecl;
+procedure DosReleaseSpinLock (SpinLock: TSpinLock); cdecl;
+function DosFreeSpinLock (SpinLock: TSpinLock): cardinal; cdecl;
+
  DosCreateSpinLock     = DOSCALLS.449
  DosCreateSpinLock     = DOSCALLS.449
  DosAcquireSpinLock    = DOSCALLS.450
  DosAcquireSpinLock    = DOSCALLS.450
  DosReleaseSpinLock    = DOSCALLS.451
  DosReleaseSpinLock    = DOSCALLS.451