|
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: 6144 (0x1800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package V_I_Sig, seg_04ce15
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
-- Copyright 1987, 1988, 1992 Verdix Corporation ------------------------------------------------------------------------------ -- User interface to the interrupt entry signal services ------------------------------------------------------------------------------ with System; use System; with Unsigned_Types; with Ada_Krn_Defs; package V_I_Sig is pragma Suppress (All_Checks); pragma Suppress (Exception_Tables); pragma Not_Elaborated; pragma Local_Access; type Signal_Id is new Unsigned_Types.Unsigned_Integer; No_Signal_Id : constant Signal_Id := 0; -------------------------------------------------------------------------- -- Interrupt entry's ISR header record built by the compiler -------------------------------------------------------------------------- type Isr_Header is record Vector_Num : Integer; S : Signal_Id; end record; -- -- Offsets for these fields must agree with those used in il_task.c -- for Isr_Header use record Vector_Num at 0 range 0 .. 4 * Storage_Unit - 1; S at 4 range 0 .. 4 * Storage_Unit - 1; end record; Signal_Isr_Vector_Num_Off : constant := 0; Signal_Isr_S_Off : constant := 4; type Isr_Header_Ref is access Isr_Header; pragma Local_Access (Isr_Header_Ref); -------------------------------------------------------------------------- -- Signals provide the mechanism for an interrupt handler to notify a task -- of an asynchronous event. An interrupt entry in a task is attached to -- a signal. At the completion of interrupt handling, the signal is -- posted, whereby, a call is made to the attached interrupt entry. -------------------------------------------------------------------------- -------------------------------------------------------------------------- -- Create signal -- -- intr_entry - points to a record containing the intr_vector. The --\x09\x09signal_isr() handler is passed the address of an isr_header -- record containing this intr_vector number. -- -- A task interrupt entry does: -- for interrupt_entry use at intr_entry_rec'address. -- -- Returns address of signal structure that can be posted. -------------------------------------------------------------------------- function Create_Signal (Intr_Entry : Ada_Krn_Defs.A_Intr_Entry_T) return Signal_Id; ------------------ -- Post signal ------------------ procedure Post_Signal (S : Signal_Id); -------------------------------------------------------------------------- -- Interrupt entry's ISR -------------------------------------------------------------------------- procedure Signal_Isr (I : Isr_Header_Ref); -------------------------------------------------------------------------- -- Services for supporting POSIX_Signals -------------------------------------------------------------------------- procedure Ignore_Signal (Intr_Vector : Ada_Krn_Defs.Intr_Vector_Id_T); procedure Unignore_Signal (Intr_Vector : Ada_Krn_Defs.Intr_Vector_Id_T); function Is_Signal_Ignored (Intr_Vector : Ada_Krn_Defs.Intr_Vector_Id_T) return Boolean; private pragma Interface (Ada, Create_Signal); pragma Interface_Name (Create_Signal, "TS_CREATE_SIGNAL"); pragma Interface (Ada, Post_Signal); pragma Interface_Name (Post_Signal, "TS_POST_SIGNAL"); pragma Interface (Ada, Signal_Isr); pragma Interface_Name (Signal_Isr, "SIGNAL_ISR"); pragma Interface (Ada, Ignore_Signal); pragma Interface_Name (Ignore_Signal, "__IGNORE_SIGNAL"); pragma Interface (Ada, Unignore_Signal); pragma Interface_Name (Unignore_Signal, "__UNIGNORE_SIGNAL"); pragma Interface (Ada, Is_Signal_Ignored); pragma Interface_Name (Is_Signal_Ignored, "__IS_SIGNAL_IGNORED"); end V_I_Sig;
nblk1=5 nid=0 hdr6=a [0x00] rec0=1f rec1=00 rec2=01 rec3=032 [0x01] rec0=18 rec1=00 rec2=02 rec3=004 [0x02] rec0=16 rec1=00 rec2=03 rec3=08e [0x03] rec0=15 rec1=00 rec2=04 rec3=012 [0x04] rec0=03 rec1=00 rec2=05 rec3=000 tail 0x21754239e874f7c10761e 0x42a00088462060003