|
|
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 - metrics - download
Length: 6144 (0x1800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package V_I_Intr, seg_04ce07
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
-- Copyright 1988, 1992 Verdix Corporation
------------------------------------------------------------------------------
-- User interface to the interrupt services
--
-- Provides backward compatibility with earlier releases of VADS.
--
-- The interface to ALL the low kernel services is now provided in
-- ada_krn_i.a. Types used by these services is defined in ada_krn_defs.a.
--
-- This package simply layers upon the interrupt data structures and
-- subprograms found in ada_krn_defs.a and ada_krn_i.a.
--
-- Differences from earlier releases:
-- [1] The following services aren't supported: enter_isr(), complete_isr().
------------------------------------------------------------------------------
with System;
with Ada_Krn_Defs;
package V_I_Intr is
pragma Suppress (All_Checks);
pragma Suppress (Exception_Tables);
pragma Not_Elaborated;
V_I_Intr_Not_Supported : exception;
type Intr_Vector_Id_T is new Ada_Krn_Defs.Intr_Vector_Id_T;
type Intr_Status_T is new Ada_Krn_Defs.Intr_Status_T;
-- DISABLE_INTR_STATUS\x09: constant intr_status_t :=
--\x09\x09intr_status_t(ada_krn_defs.DISABLE_INTR_STATUS);
function Disable_Intr_Status return Intr_Status_T;
pragma Inline_Only (Disable_Intr_Status);
-- ENABLE_INTR_STATUS\x09: constant intr_status_t :=
--\x09\x09intr_status_t(ada_krn_defs.ENABLE_INTR_STATUS);
function Enable_Intr_Status return Intr_Status_T;
pragma Inline_Only (Enable_Intr_Status);
--------------------------------------------------------------------------
-- RTS routines to support attach/detach 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;
pragma Inline_Only (Attach_Isr);
function Detach_Isr (Iv : Intr_Vector_Id_T) return Boolean;
pragma Inline_Only (Detach_Isr);
--------------------------------------------------------------------------
-- RTS routines to support enter/complete of ISR's
--
-- Not supported. If called, raise the exception, V_I_INTR_NOT_SUPPORTED.
--
-- Check, V_INTERRUPTS in VADS_EXEC, V_PASSIVE_ISR in V_USR_CONF
-- or V_SIGNAL_ISR in V_USR_CONF for the routines to be called.
--------------------------------------------------------------------------
procedure Enter_Isr;
pragma Inline_Only (Enter_Isr);
procedure Complete_Isr;
pragma Inline_Only (Complete_Isr);
--------------------------------------------------------------------------
-- RTS routines to enter/leave supervisor state for the current task
--------------------------------------------------------------------------
procedure Enter_Supervisor_State;
pragma Inline_Only (Enter_Supervisor_State);
procedure Leave_Supervisor_State;
pragma Inline_Only (Leave_Supervisor_State);
--------------------------------------------------------------------------
-- RTS routine to support getting of interrupt status
--------------------------------------------------------------------------
procedure Get_Interrupts (Old_Status : out Intr_Status_T);
pragma Inline_Only (Get_Interrupts);
--------------------------------------------------------------------------
-- 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);
pragma Inline_Only (Disable_Interrupts);
procedure Restore_Interrupts (Old_Status : Intr_Status_T);
pragma Inline_Only (Restore_Interrupts);
end V_I_Intr;
nblk1=5
nid=0
hdr6=a
[0x00] rec0=1c rec1=00 rec2=01 rec3=076
[0x01] rec0=15 rec1=00 rec2=02 rec3=030
[0x02] rec0=15 rec1=00 rec2=03 rec3=028
[0x03] rec0=12 rec1=00 rec2=04 rec3=058
[0x04] rec0=04 rec1=00 rec2=05 rec3=000
tail 0x217542264874f7bf0ac53 0x42a00088462060003