DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T V

⟦aeeb577e4⟧ TextFile

    Length: 3319 (0xcf7)
    Types: TextFile
    Names: »V«

Derivation

└─⟦516dceb10⟧ Bits:30000751 8mm tape, Rational 1000, RCI_VADS
    └─ ⟦9a14c9417⟧ »DATA« 
        └─⟦this⟧ 

TextFile

-- Copyright 1988 Verdix Corporation

------------------------------------------------------------------------------
-- User interface to the interrupt services
------------------------------------------------------------------------------
WITH System;
WITH V_I_Types;
PACKAGE V_I_Intr IS

   PRAGMA Suppress (All_Checks);
   PRAGMA Suppress (Exception_Tables);
   PRAGMA Not_Elaborated;

   SUBTYPE Intr_Vector_Id_T IS V_I_Types.Intr_Vector_Id_T;
   SUBTYPE Intr_Status_T    IS V_I_Types.Intr_Status_T;
   Disable_Intr_Status : CONSTANT Intr_Status_T :=
      V_I_Types.Disable_Intr_Status;
   Enable_Intr_Status : CONSTANT Intr_Status_T := V_I_Types.Enable_Intr_Status;

   --------------------------------------------------------------------------
   -- RTS routines to support attach/detach/enter/complete of ISR's
   -- The attach/detach routines return TRUE if the isr was
   -- successfully attached/detached. They return FALSE for an invalid
   -- interrupt vector.
   --------------------------------------------------------------------------
   FUNCTION  Attach_Isr
               (Iv : Intr_Vector_Id_T; Isr : System.Address) RETURN Boolean;
   FUNCTION  Detach_Isr (Iv : Intr_Vector_Id_T)              RETURN Boolean;
   PROCEDURE Enter_Isr;
   PROCEDURE Complete_Isr;

   --------------------------------------------------------------------------
   -- RTS routines to enter/leave supervisor state for the current task
   --------------------------------------------------------------------------
   PROCEDURE Enter_Supervisor_State;
   PROCEDURE Leave_Supervisor_State;

   --------------------------------------------------------------------------
   -- RTS routine to support getting of interrupt status
   --------------------------------------------------------------------------
   PROCEDURE Get_Interrupts (Old_Status : OUT Intr_Status_T);

   --------------------------------------------------------------------------
   -- RTS routines to support enable/disable of interrupts from user program
   --------------------------------------------------------------------------
   PROCEDURE Disable_Interrupts
                (Old_Status : OUT Intr_Status_T;
                 New_Status :     Intr_Status_T := Disable_Intr_Status);
   PROCEDURE Restore_Interrupts (Old_Status : Intr_Status_T);

PRIVATE
   PRAGMA Interface (Ada, Attach_Isr);
   PRAGMA Interface_Name (Attach_Isr, "TS_ATTACH_ISR");
   PRAGMA Interface (Ada, Detach_Isr);
   PRAGMA Interface_Name (Detach_Isr, "TS_DETACH_ISR");
   PRAGMA Interface (Ada, Enter_Isr);
   PRAGMA Interface_Name (Enter_Isr, "TS_ENTER_ISR");
   PRAGMA Interface (Ada, Complete_Isr);
   PRAGMA Interface_Name (Complete_Isr, "TS_COMPLETE_ISR");
   PRAGMA Interface (Ada, Enter_Supervisor_State);
   PRAGMA Interface_Name (Enter_Supervisor_State, "TS_ENTER_SUPERVISOR_STATE");
   PRAGMA Interface (Ada, Leave_Supervisor_State);
   PRAGMA Interface_Name (Leave_Supervisor_State, "TS_LEAVE_SUPERVISOR_STATE");
   PRAGMA Interface (Ada, Get_Interrupts);
   PRAGMA Interface_Name (Get_Interrupts, "__GET_INTERRUPTS");
   PRAGMA Interface (Ada, Disable_Interrupts);
   PRAGMA Interface_Name (Disable_Interrupts, "__DISABLE_INTERRUPTS");
   PRAGMA Interface (Ada, Restore_Interrupts);
   PRAGMA Interface_Name (Restore_Interrupts, "__RESTORE_INTERRUPTS");
END V_I_Intr;