DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ O T ┃
Length: 11436 (0x2cac) Types: TextFile Names: »OS2000_DEFINITIONS«
└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2 └─ ⟦77aa8350c⟧ »DATA« └─⟦f794ecd1d⟧ └─⟦24d1ddd49⟧ └─⟦this⟧
; ; Definitions for CCT (Communication Control Table) ; cct_start equ 1024 ; CCT offset from window start pi_cpt equ 88 ; Offset for pointer to CPT ; ; HSI addressing conventions ; a32_size equ 16#02000000#; ; ; Offsets in the Configuration Parameter Table. ; CPT_System_Time equ 0 ; Offset to system time HW pointer CPT_Political_Time equ 4 ; Offset to political time offset CPT_Current_Proc equ 64 ; Offset to Os9 current process pointer CPT_MsgQ_Pointer equ 144 ; Offset to Message_Queues pointer ; points to MqGlobals control block CPT_Ada_Runtime_Ptr equ 152 ; Offset in CPT to Ada Runtime pointer ; points to beginning of table of ; runtime entry points ; ; OS9 system call definitions ; os9_call equ 0 ; ; An OS9 system call is perform with the following sequence: ; trap #OS9_Call ; .dc.w call_code ; ; where call code is one of the following user mode calls ; or I/O calls ; ; User mode system call definitions ; F$Exit equ 16#006# F$Fork equ 16#003# F$Icpt equ 16#009# F$Julian equ 16#020# F$Link equ 16#000# F$PEAB equ 16#0FA# F$PErr equ 16#00F# F$RTE equ 16#01E# F$SPrior equ 16#00D# F$SRqMem equ 16#028# F$STime equ 16#016# F$STrap equ 16#00E# F$Send equ 16#008# F$Sleep equ 16#00A# F$Time equ 16#015# ; ; OS9 I/O system call definitions ; I$Close equ 16#08F# I$Create equ 16#083# I$Delete equ 16#087# I$GetStt equ 16#08D# I$Last equ 16#093# I$Open equ 16#084# I$Read equ 16#089# I$ReadLn equ 16#08B# I$SGetSt equ 16#092# I$Seek equ 16#088# I$SetStt equ 16#08E# I$WritLn equ 16#08C# I$Write equ 16#08A#; ; ; Access mode for Open ; Read_Mode equ 1 Write_Mode equ 2 Execute equ 4 ; ; Function codes for the I$GetStt call ; SS_Opt equ 16#0000# SS_Size equ 16#0002# SS_Pos equ 16#0005# SS_EOF equ 16#0006# SS_DevNm equ 16#000E# ; ; Standard paths ; Standard_Input equ 0 Standard_Output equ 1 Standard_Error equ 2 ; ; I/O Error Codes ; E$BPNum equ 16#00C9# ; bad path number ; ; OS9 trap definitions ; T_AddErr equ 16#000C# T_BusErr equ 16#0008# T_IllIns equ 16#0010# T_CHK equ 16#0018# T_TRAPV equ 16#001C# T_FPDivZer equ 16#00C8# T_FPInxact equ 16#00C4# T_FPNotNum equ 16#00D8# T_FPOprErr equ 16#00D0# T_FPOverFl equ 16#00D4# T_FPUndrFl equ 16#00CC# T_FPUnordC equ 16#00C0# T_ZerDiv equ 16#0014# ; ; OS2000 process descriptor definitions ; P$DefIOSiz equ 32 ; Default I/O data area size P$NumPaths equ 32 ; Number of local paths P$MemBlks equ 32 ; Number of separate memory blocks per process .offset 0 ; Process descriptor P$ID: .ds.w 1 ; Process id P$PID: .ds.w 1 ; Parent's id P$SID: .ds.w 1 ; First sibling's ID P$CID: .ds.w 1 ; First child's ID P$sp: .ds.l 1 ; System stack pointer (points to pdsc?) P$usp: .ds.l 1 ; User stack pointer P$MemSiz: .ds.l 1 ; Total combined data size P$User: .ds.w 2 ; User index (group/user) P$Prior: .ds.w 1 ; Priority P$Age: .ds.w 1 ; Age P$State: .ds.w 1 ; Status P$Task: .ds.w 1 ; Process task number P$QueuID: .ds.b 1 ; Current queue P$SCall: .ds.b 1 ; Last system call executed .ds.w 1 ; Reserved P$DeadLk: .ds.w 1 ; Dominant process id if I/O locked P$Signal: .ds.w 1 ; Signal code P$SigVec: .ds.l 1 ; Signal intercept vector P$SigDat: .ds.l 1 ; Signal intercept data address P$QueueN: .ds.l 1 ; Next process queue pointer P$QueueP: .ds.l 1 ; Previous process queue pointer P$PModul: .ds.l 1 ; Primary module P$Except: .ds.l 10 ; Program error exception vectors P$ExStk: .ds.l 10 ; Program error exception stack frame ptrs P$Traps: .ds.l 15 ; User's TRAP vector table P$TrpMem: .ds.l 15 ; Trap handler static memory block pointers P$TrpSiz: .ds.l 15 ; Trap handler static memory block sizes P$ExcpSP: .ds.l 1 ; System state exception recovery stack P$ExcpPC: .ds.l 1 ; System state exception recovery PC P$DIO: .ds.b P$DefIOSiz ; Default I/O data P$Patch: .ds.w P$NumPaths ; I/O path table P$MemImg: .ds.l P$MemBlks ; Allocated memory block pointers P$BlkSiz: .ds.l P$MemBlks ; Memory size of each allocated memory block P$DbgReg: .ds.l 1 ; Debugged process register stack frame P$DbgPar: .ds.l 1 ; Debugged process parent proc desc pointer P$DbgIns: .ds.l 1 ; Debugged process instruction count P$UTicks: .ds.l 1 ; User state ticks elapsed P$STicks: .ds.l 1 ; System state ticks elapsed P$DatBeg: .ds.l 1 ; Julian date when forked P$TimBeg: .ds.l 1 ; Julian time when forked P$FCalls: .ds.l 1 ; Number of function calls executed P$ICalls: .ds.l 1 ; Number of I/O system calls executed P$RBytes: .ds.l 1 ; Number of bytes read P$WBytes: .ds.l 1 ; Number of bytes written P$IOQP: .ds.w 1 ; Previous I/O queue link (process id) P$IOQN: .ds.w 1 ; Next I/O queue link (process id) P$Frags: .ds.l 2 ; Free memory fragment list head P$Sched: .ds.l 1 ; Active queue scheduling constant P$SPUImg: .ds.l 1 ; Pointer to process SPU/MMU map P$BlkCnt: .ds.l 1 ; Pointer to SPU/MMU map block counts P$BkPts: .ds.w 16 ; Reserved for contents of breakpoint instructions P$Acct: .ds.l 8 ; Reserved for user accounting module P$Data: .ds.l 1 ; Pointer to process primary data area P$DataSz: .ds.l 1 ; Size of process primary data area P$FPUSave: .ds.l 1 ; Pointer to FPU save area P$FPExcpt: .ds.l 7 ; Floating point error exception vectors P$FPExStk: .ds.l 7 ; Floating point error exception stack frame pointers P$SigLvl: .ds.b 1 ; Signal interrupt level P$SigFlg: .ds.b 1 ; Signal flag P$Sigxs: .ds.w 1 ; Number of excess signal blocks allocated P$SigMask: .ds.l 1 ; Mask to disable signals 2-31 P$SigCnt: .ds.l 1 ; Number of signals pending P$SigQue: .ds.l 1 ; Ptr to head of signal queue P$DefSig: .ds.l 4 ; Default initial signal queue element P$Thread: .ds.l 2 ; Doubly linked thread queue p$JobCon: P$Extid: .ds.w 1 ; Os2000 extended process id P$ExtPid: .ds.w 1 ; Os2000 extended parent id P$Surv: .ds.b 1 ; Os2000 job control boolean .ds.b 7 ; JobCon trailer P$IPCptr: .ds.l 1 ; IPC-2000 work area pointer P$AdaWrk: ART$Tsk_Id: .ds.l 1 ; Current task id (TCB pointer) ART$Stk_Lo: .ds.l 1 ; Low bound of stack for current task ART$SaveFP: .ds.l 1 ; Saved framed pointer when blocking on queue ART$SavePc: .ds.l 1 ; Saved program counter when blocking on queue ART$PrgKey: .ds.l 1 ; Key identifying process as part of program ART$Spare5: .ds.l 1 ; Ada runtime spare 5 ART$Spare6: .ds.l 1 ; Ada runtime spare 6 ART$Tsk_AD: .ds.l 1 ; Space for pointer to allocated data block P$RFMWrk: .ds.b 32 ; Os2000 REDMAN work area P$Last: ; Size of a process header .ds.b 2048-P$Last ; Holds system stack for process P$Stack: ; Top of system stack for process P$Size: ; Size of process descriptor ; ; Values for process state (P$STATE) ; P$SysState equ 16#80# ; Executing system state routine P$TimSleep equ 16#40# ; Timed sleep P$TimOut equ 16#20# ; time slice has expired P$ImgChg equ 16#10# ; SPU/MMU protection map has changed P$Condemn equ 16#02# ; process is condemned P$Dead equ 16#01# ; Process has terminated ; ; Values for process queue id (P$QUEUID ; P$QActive equ 'a' ; active process queue P$QSleep equ 's' ; sleep queue P$QWait equ 'w' ; Waiting queue P$QEvent equ 'e' ; Event queue P$QCurrnt equ '*' ; No queue, currently running P$QDebug equ 'd' ; No queue, inactively debugging P$QDead equ '-' ; No queue, dead process ; ; User register stack image ; .offset 0 R$d0: .ds.l 1 R$d1: .ds.l 1 R$d2: .ds.l 1 R$d3: .ds.l 1 R$d4: .ds.l 1 R$d5: .ds.l 1 R$d6: .ds.l 1 R$d7: .ds.l 1 R$a0: .ds.l 1 R$a1: .ds.l 1 R$a2: .ds.l 1 R$a3: .ds.l 1 R$a4: .ds.l 1 R$a5: .ds.l 1 R$a6: .ds.l 1 R$a7: .ds.l 1 ; User stack pointer R$sr: .ds.b 1 R$cc: .ds.b 1 R$pc: .ds.l 1 R$fmt: .ds.w 1 ; 68010 exception format and vector R$Size: ; Size of register package ; ; Status register equates ; R$TraceBit equ 16#8000# ; Trace bit in SR word R$SupvrBit equ 16#2000# ; Supervisor bit in SR word R$IntMask equ 16#0700# ; Interrupt mask in SR word R$Extend equ 16#0010# ; Extend bit R$Negative equ 16#0008# ; Negative bit R$Zero equ 16#0004# ; Zero bit R$Ov equ 16#0002# ; Overflow R$Carry equ 16#0001# ; Carry ; 68881 FPU context save area .offset 0 FPU$MemS: .ds.l 1 ; Memory block size FPU$Contxt: .ds.b 6*32 ; FPU context save FPU$Regs: .ds.l 8*3 ; FPU register save FPU$Cntrl: .ds.l 3 ; PFU control register save