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

⟦1605966a3⟧ Ada Source

    Length: 3072 (0xc00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Krn_Cpu_Defs, seg_05097a

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 1993 Verdix Corporation

with System;
use System;
with Os_Signal;       -- needed by debugger
with Stack_Defs;      -- needed by debugger
with Unchecked_Conversion;
package Krn_Cpu_Defs is
    pragma Suppress (All_Checks);
    pragma Suppress (Exception_Tables);
    pragma Not_Elaborated;
    pragma Local_Access;

    -- Kernel type definitions that are IBM RS/6000 specific

    -- This is to get around the problem with 'SIZE not working when
    -- the elaboration code doesn't get executed.
    Storage_Units_Per_Word : constant := 4;

    Cpu_State_Len : constant := 6 * 4;
    type Cpu_State_T is
        record
            Enter_Lr : Address;
            Restore_Sp : Address;

            -- sigcontext_a has the following special values
            --  0 => enter from user
            --  1 => task start
            --  others => enter from interrupt
            Sigcontext_A : Address;

            Errno : Integer;         -- UNIX error number
            Stack_Limit : Address;
            Pad : Integer;
        end record;
    pragma Pack (Cpu_State_T);
    for Cpu_State_T'Size use Cpu_State_Len * 8;
    type A_Cpu_State_T is access Cpu_State_T;

    -- Length of fields in krn_tcb_t record preceding cpu_state.
    Cpu_State_Off : constant := 0;
    -- CPU state record field offsets from beginning of task control
    -- block, not beginning of cpu_state
    Enter_Lr_Off : constant := Cpu_State_Off;
    Restore_Sp_Off : constant := Enter_Lr_Off + Storage_Units_Per_Word;
    Sigcontext_A_Off : constant := Restore_Sp_Off + Storage_Units_Per_Word;
    Errno_Off : constant := Sigcontext_A_Off + Storage_Units_Per_Word;
    Stack_Limit_Off : constant := Errno_Off + Storage_Units_Per_Word;


    -- Allocation and stack alignment
    Alignment : constant := 8;

end Krn_Cpu_Defs;

E3 Meta Data

    nblk1=2
    nid=0
    hdr6=4
        [0x00] rec0=21 rec1=00 rec2=01 rec3=04c
        [0x01] rec0=17 rec1=00 rec2=02 rec3=000
    tail 0x21757ffc6878e78f97ac4 0x42a00088462060003