diff options
Diffstat (limited to 'gcc-4.9/gcc/ada/s-mudido.ads')
-rw-r--r-- | gcc-4.9/gcc/ada/s-mudido.ads | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/ada/s-mudido.ads b/gcc-4.9/gcc/ada/s-mudido.ads new file mode 100644 index 000000000..635a847d2 --- /dev/null +++ b/gcc-4.9/gcc/ada/s-mudido.ads @@ -0,0 +1,69 @@ +------------------------------------------------------------------------------ +-- -- +-- GNAT RUN-TIME COMPONENTS -- +-- -- +-- SYSTEM.MULTIPROCESSORS.DISPATCHING_DOMAINS -- +-- -- +-- S p e c -- +-- -- +-- This specification is derived from the Ada Reference Manual for use with -- +-- GNAT. In accordance with the copyright of that document, you can freely -- +-- copy and modify this specification, provided that if you redistribute a -- +-- modified version, any changes that you have made are clearly indicated. -- +-- -- +------------------------------------------------------------------------------ + +with Ada.Real_Time; + +with Ada.Task_Identification; + +private with System.Tasking; + +package System.Multiprocessors.Dispatching_Domains is + -- pragma Preelaborate (Dispatching_Domains); + -- ??? According to AI 167 this unit should be preelaborate, but it cannot + -- be preelaborate because it depends on Ada.Real_Time which is not + -- preelaborate. + + Dispatching_Domain_Error : exception; + + type Dispatching_Domain (<>) is limited private; + + System_Dispatching_Domain : constant Dispatching_Domain; + + function Create (First, Last : CPU) return Dispatching_Domain; + + function Get_First_CPU (Domain : Dispatching_Domain) return CPU; + + function Get_Last_CPU (Domain : Dispatching_Domain) return CPU; + + function Get_Dispatching_Domain + (T : Ada.Task_Identification.Task_Id := + Ada.Task_Identification.Current_Task) return Dispatching_Domain; + + procedure Assign_Task + (Domain : in out Dispatching_Domain; + CPU : CPU_Range := Not_A_Specific_CPU; + T : Ada.Task_Identification.Task_Id := + Ada.Task_Identification.Current_Task); + + procedure Set_CPU + (CPU : CPU_Range; + T : Ada.Task_Identification.Task_Id := + Ada.Task_Identification.Current_Task); + + function Get_CPU + (T : Ada.Task_Identification.Task_Id := + Ada.Task_Identification.Current_Task) return CPU_Range; + + procedure Delay_Until_And_Set_CPU + (Delay_Until_Time : Ada.Real_Time.Time; + CPU : CPU_Range); + +private + type Dispatching_Domain is new System.Tasking.Dispatching_Domain_Access; + + System_Dispatching_Domain : constant Dispatching_Domain := + Dispatching_Domain + (System.Tasking.System_Domain); +end System.Multiprocessors.Dispatching_Domains; |