|
|
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: 3848 (0xf08)
Types: TextFile
Notes: R1k Text-file segment
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦efb91b255⟧
└─⟦this⟧
with UNSIGNED_TYPES;
package SYSTEM is
pragma suppress(ALL_CHECKS);
pragma suppress(EXCEPTION_TABLES);
pragma not_elaborated;
type NAME is ( sun4_cross_mc68020 );
SYSTEM_NAME : constant NAME := sun4_cross_mc68020;
STORAGE_UNIT : constant := 8;
MEMORY_SIZE : constant := 16_777_216;
-- System-Dependent Named Numbers
MIN_INT : constant := -2_147_483_648;
MAX_INT : constant := 2_147_483_647;
MAX_DIGITS : constant := 15;
MAX_MANTISSA : constant := 31;
FINE_DELTA : constant := 2.0**(-31);
TICK : constant := 0.01;
-- Other System-dependent Declarations
subtype PRIORITY is INTEGER range 0 .. 99;
MAX_REC_SIZE : integer := 1024;
type ADDRESS is private;
function ">" (A: ADDRESS; B: ADDRESS) return BOOLEAN;
function "<" (A: ADDRESS; B: ADDRESS) return BOOLEAN;
function ">="(A: ADDRESS; B: ADDRESS) return BOOLEAN;
function "<="(A: ADDRESS; B: ADDRESS) return BOOLEAN;
function "-" (A: ADDRESS; B: ADDRESS) return INTEGER;
function "+" (A: ADDRESS; I: INTEGER) return ADDRESS;
function "-" (A: ADDRESS; I: INTEGER) return ADDRESS;
function "+" (I: INTEGER; A: ADDRESS) return ADDRESS;
function "+" (I: UNSIGNED_TYPES.UNSIGNED_INTEGER) return ADDRESS;
function MEMORY_ADDRESS
(I: UNSIGNED_TYPES.UNSIGNED_INTEGER) return ADDRESS renames "+";
function TO_INTEGER (ADDR : ADDRESS) return INTEGER;
function TO_ADDRESS (INT : INTEGER) return ADDRESS;
NO_ADDR : constant ADDRESS;
ADDRESS_ZERO : constant ADDRESS;
NULL_ADDRESS : constant ADDRESS;
ASSERTION_ERROR : exception;
type TASK_ID is private;
NO_TASK_ID : constant TASK_ID;
type PASSIVE_TASK_ID is private;
NO_PASSIVE_TASK_ID : constant PASSIVE_TASK_ID;
subtype SIG_STATUS_T is INTEGER;
SIG_STATUS_SIZE: constant := 4;
type PROGRAM_ID is private;
NO_PROGRAM_ID : constant PROGRAM_ID;
type BYTE_ORDER_T is (
LITTLE_ENDIAN,
BIG_ENDIAN
);
BYTE_ORDER: constant BYTE_ORDER_T := BIG_ENDIAN;
type LONG_ADDRESS is private;
NO_LONG_ADDR : constant LONG_ADDRESS;
function "+" (A: LONG_ADDRESS; I: INTEGER) return LONG_ADDRESS;
function "-" (A: LONG_ADDRESS; I: INTEGER) return LONG_ADDRESS;
function MAKE_LONG_ADDRESS (A: ADDRESS) return LONG_ADDRESS;
function LOCALIZE(A: LONG_ADDRESS ; BYTE_SIZE : INTEGER) return ADDRESS;
function STATION_OF(A: LONG_ADDRESS) return INTEGER;
-- Internal RTS representation for day. If the calendar package is used,
-- then, this is the julian day.
subtype DAY_T is INTEGER;
-- Constants describing the configuration of the CIFO add-on product.
SUPPORTS_INVOCATION_BY_ADDRESS : constant BOOLEAN := TRUE;
SUPPORTS_PREELABORATION : constant BOOLEAN := TRUE;
MAKE_ACCESS_SUPPORTED : constant BOOLEAN := TRUE;
-- Arguments to the CIFO pragma INTERRUPT_TASK.
type INTERRUPT_TASK_KIND is ( SIMPLE, SIGNALLING );
function RETURN_ADDRESS return ADDRESS;
private
type ADDRESS is new UNSIGNED_TYPES.UNSIGNED_INTEGER;
NO_ADDR : constant ADDRESS := 0;
ADDRESS_ZERO : constant ADDRESS := 0;
NULL_ADDRESS : constant ADDRESS := 0;
pragma BUILT_IN(">");
pragma BUILT_IN("<");
pragma BUILT_IN(">=");
pragma BUILT_IN("<=");
pragma BUILT_IN("-");
pragma BUILT_IN("+");
type TASK_ID is new UNSIGNED_TYPES.UNSIGNED_INTEGER;
NO_TASK_ID : constant TASK_ID := 0;
type PASSIVE_TASK_ID is new UNSIGNED_TYPES.UNSIGNED_INTEGER;
NO_PASSIVE_TASK_ID : constant PASSIVE_TASK_ID := 0;
type PROGRAM_ID is new UNSIGNED_TYPES.UNSIGNED_INTEGER;
NO_PROGRAM_ID : constant PROGRAM_ID := 0;
type LONG_ADDRESS is
RECORD
station : UNSIGNED_TYPES.UNSIGNED_INTEGER;
addr : ADDRESS;
END RECORD;
NO_LONG_ADDR : constant LONG_ADDRESS := (0, 0);
pragma BUILT_IN(MAKE_LONG_ADDRESS);
pragma BUILT_IN(LOCALIZE);
pragma BUILT_IN(STATION_OF);
pragma BUILT_IN(RETURN_ADDRESS);
pragma BUILT_IN(TO_INTEGER);
pragma BUILT_IN(TO_ADDRESS);
end SYSTEM