|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 3319 (0xcf7)
Types: TextFile
Names: »V«
└─⟦516dceb10⟧ Bits:30000751 8mm tape, Rational 1000, RCI_VADS
└─⟦9a14c9417⟧ »DATA«
└─⟦this⟧
-- 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;