|
|
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_Sig, seg_04b9c2
└─⟦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=001
tail 0x21750be10868438853617 0x42a00088462060003