DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦44e1e8dbc⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package V_I_Intr, seg_04b9ae

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



-- 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;


E3 Meta Data

    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=001
    tail 0x21750bd7686843834dce6 0x42a00088462060003