|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 5120 (0x1400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package V_I_Cifo, seg_04b9a9
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
-- Copyright 1993 Verdix Corporation ------------------------------------------------------------------------------ -- Interface to the CIFO type definitions used by Ada tasking ------------------------------------------------------------------------------ with System; use System; with Unchecked_Conversion; package V_I_Cifo is pragma Suppress (All_Checks); pragma Suppress (Exception_Tables); pragma Not_Elaborated; pragma Local_Access; -- Task entry or safe condition variable wait queuing type Queuing_T is (Unspecified_Queuing, Arbitrary_Queuing, Fifo_Queuing, Priority_Queuing, Priority_Ceiling, Spinning); -- Do not change these values without also changing the compiler. for Queuing_T use (Unspecified_Queuing => 0, Arbitrary_Queuing => 1, Fifo_Queuing => 2, Priority_Queuing => 3, Priority_Ceiling => 4, Spinning => 5); for Queuing_T'Size use Integer'Size; -- This exception is raised for any priority ceiling errors, such -- as, the priority of the calling task is higher than the -- priority of a priority ceiling server task. Priority_Ceiling_Error : exception; -- Values set by pragmas in the main procedure Main_Task_Priority : Priority; pragma Interface_Name (Main_Task_Priority, "MAIN_TASK_PRIORITY"); Main_Priority_Inheritance_Enabled : Integer; pragma Interface_Name (Main_Priority_Inheritance_Enabled, "MAIN_PRIORITY_INHERITANCE"); -- If TRUE, then ARBITRARY_QUEUING is PRIORITY_QUEUING. -- Otherwise, ARBITRARY_QUEUING is FIFO_QUEUING. -- Main_Global_Entry_Criteria : Queuing_T; pragma Interface_Name (Main_Global_Entry_Criteria, "MAIN_GLOBAL_ENTRY_CRITERIA"); --\x09SPINNING isn't valid. -- --\x09If set to ARBITRARY_QUEUING, then, it is --\x09updated during startup according to -- main_priority_inheritance_enabled as follows: --\x09\x09main_priority_inheritance_enabled = FALSE => --\x09\x09\x09main_global_entry_criteria := FIFO_QUEUING --\x09\x09main_priority_inheritance_enabled = TRUE => --\x09\x09\x09main_global_entry_criteria := PRIORITY_QUEUING -- Main_Global_Select_Lexical_Order : Integer; pragma Interface_Name (Main_Global_Select_Lexical_Order, "MAIN_SELECT_LEXICAL_ORDER"); type Main_Pragmas_T is record Main_Task_Priority : Priority := Priority'First; Priority_Inheritance_Enabled : Boolean := False; Global_Entry_Criteria : Queuing_T := Arbitrary_Queuing; Global_Select_Lexical_Order : Boolean := False; end record; type A_Main_Pragmas_T is access Main_Pragmas_T; function To_A_Main_Pragmas_T is new Unchecked_Conversion (Address, A_Main_Pragmas_T); -- The following is used for an INTERRUPT_TASK. The compiler knows -- the names of the fields in this record. type Cifo_Isr_Header is record Vector_Num : Integer; Handler : Address; -- Address of the first instruction -- in the entry's accept body. -- The code emitted for the accept -- body should look like a normal -- Ada procedure. end record; for Cifo_Isr_Header use record Vector_Num at 0 range 0 .. 4 * Storage_Unit - 1; Handler at 4 range 0 .. 4 * Storage_Unit - 1; end record; Cifo_Isr_Vector_Num_Off : constant := 0; Cifo_Isr_Handler_Off : constant := 4; type Cifo_Isr_Header_Ref is access Cifo_Isr_Header; end V_I_Cifo;
nblk1=4 nid=0 hdr6=8 [0x00] rec0=1a rec1=00 rec2=01 rec3=006 [0x01] rec0=1b rec1=00 rec2=02 rec3=020 [0x02] rec0=16 rec1=00 rec2=03 rec3=070 [0x03] rec0=1a rec1=00 rec2=04 rec3=000 tail 0x21750bd4e86843819fdd5 0x42a00088462060003