COMPILATION LISTING OF SEGMENT pc_signal Compiled by: Multics PL/I Compiler, Release 32f, of October 9, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 11/11/89 1009.0 mst Sat Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* *********************************************************** */ 8 /* format: style3 */ 9 pc_signal: 10 proc (Error_Type, Astep, Ptwp); 11 12 /* Program to build structures for the signaller when a signallable error 13* is detected by Page Control. 14* 15* Written October 1982 by J. Bongiovanni 16**/ 17 18 /* Parameter */ 19 20 dcl Error_Type fixed bin parameter; /* Index of error */ 21 dcl Astep ptr unaligned parameter; /* -> ASTE of interest */ 22 dcl Ptwp ptr unaligned parameter; /* -> PTW of interest */ 23 24 /* Automatic */ 25 26 dcl error_type fixed bin; 27 dcl 1 page_fault_error_code 28 aligned, /* Error code hack until info structure implemented */ 29 2 add bit (18) unaligned, 30 2 add_type bit (4) unaligned, 31 2 pad bit (5) unaligned, 32 2 pvtx fixed bin (9) unsigned unaligned; 33 dcl ptwp ptr; 34 35 /* Static */ 36 37 dcl SIGNAL_NAME (0:3) char (32) internal static options (constant) 38 init ("record_quota_overflow", "page_fault_error", "invalid_page_fault", 39 "invalid_page_error"); 40 41 /* Based */ 42 43 dcl 1 Aste aligned like aste based (Astep); 44 dcl 1 Ptw aligned like ptw based (Ptwp); 45 46 /* External */ 47 48 dcl 1 pds$condition_name 49 aligned external, 50 2 len fixed bin (8) unaligned, 51 2 chars char (21) unaligned; 52 dcl 1 pds$page_fault_data 53 aligned like mc external; 54 dcl 1 pds$signal_data aligned like mc external; 55 dcl sst$rqover fixed bin (35) external; 56 57 /* Builtin */ 58 59 dcl bin builtin; 60 dcl bit builtin; 61 dcl length builtin; 62 dcl rtrim builtin; 63 dcl unspec builtin; 64 65 66 67 if (Error_Type < 0) | (Error_Type > PAGE_ERROR_MAXTYPE) 68 then error_type = PAGE_ERROR_INVERROR; 69 else error_type = Error_Type; 70 71 unspec (pds$signal_data) = unspec (pds$page_fault_data); 72 73 pds$condition_name.len = length (rtrim (SIGNAL_NAME (error_type))); 74 pds$condition_name.chars = rtrim (SIGNAL_NAME (error_type)); 75 76 goto TYPE_SPECIFIC (error_type); 77 78 TYPE_SPECIFIC (0): /* record quota overflow */ 79 pds$signal_data.fim_temp.fcode = bit (bin (record_quota_overflow_sct_index, 17), 17); 80 pds$signal_data.errcode = sst$rqover; 81 return; 82 83 TYPE_SPECIFIC (1): /* page I/O error */ 84 pds$signal_data.fim_temp.fcode = bit (bin (page_fault_error_sct_index, 17), 17); 85 unspec (page_fault_error_code) = ""b; 86 page_fault_error_code.add = Ptw.add; 87 page_fault_error_code.add_type = Ptw.add_type; 88 page_fault_error_code.pvtx = Aste.pvtx; 89 unspec (pds$signal_data.errcode) = unspec (page_fault_error_code); 90 91 return; 92 93 TYPE_SPECIFIC (2): /* bad machine conditions */ 94 TYPE_SPECIFIC (3): /* Invalid error type */ 95 return; 96 97 /* format: off */ 98 /* BEGIN INCLUDE FILE ...aste.incl.pl1 ... */ 1 2 1 3 /* Template for an AST entry. Length = 12 words. */ 1 4 1 5 /* Words 0 to 7, and 11 are read by PC; they are read and modified by SC. 1 6* Words 8, 9 and 10 are modified by PC; they should never be modified without locking the PC lock */ 1 7 /* Modified January 1985 by Keith Loepere for multi_class. */ 1 8 1 9 dcl astep ptr; 1 10 1 11 dcl 1 aste based (astep) aligned, 1 12 1 13 (2 fp bit (18), /* forward used list rel pointer */ 1 14 2 bp bit (18), /* backward used list rel pointer */ 1 15 1 16 2 infl bit (18), /* ptr to NEXT in list of ASTE's of my brothers */ 1 17 2 infp bit (18), /* ptr to FIRST in list of ASTE's of my children */ 1 18 1 19 2 strp bit (18), /* rel pointer to process trailer */ 1 20 2 par_astep bit (18), /* rel pointer to parent aste */ 1 21 1 22 2 uid bit (36), /* segment unique id */ 1 23 1 24 2 msl bit (9), /* maximum segment length in 1024 word units */ 1 25 2 pvtx fixed bin (8), /* physical volume table index */ 1 26 2 vtocx fixed bin (17), /* vtoc entry index */ 1 27 1 28 2 usedf bit (1), /* ast entry is being used if non-zero */ 1 29 2 init bit (1), /* used bit - insure 1 lap */ 1 30 2 gtus bit (1), /* global transparent usage switch */ 1 31 2 gtms bit (1), /* global transparent modified switch */ 1 32 2 hc bit (1), /* hard core segment */ 1 33 2 hc_sdw bit (1), /* aste with sdw for hardcore seg if non-zero */ 1 34 2 any_access_on bit (1), /* any sdw allows access, unless write_access_on */ 1 35 2 write_access_on bit (1), /* any sdw allows write access */ 1 36 2 inhibit_cache bit (1), /* flag not to reset above bits */ 1 37 2 explicit_deact_ok bit (1), /* set if user can deactivate seg */ 1 38 2 deact_error bit (1), /* set if error occurred while deactivating */ 1 39 2 hc_part bit (1), /* set if pages are in a hardcore partition */ 1 40 2 fm_damaged bit (1), /* set if filemap checksum was ever bad */ 1 41 2 multi_class bit (1), /* set if page_control should watch state changes to this segment */ 1 42 2 pad1 bit (2), /* OO */ 1 43 2 dius bit (1), /* dumper in use switch */ 1 44 2 nid bit (1), /* if on prevents addtion to incremental dump map */ 1 45 2 dmpr_pad bit (1), 1 46 2 ehs bit (1), /* entry hold switch */ 1 47 2 nqsw bit (1), /* no quota switch - no checking for pages of this seg */ 1 48 2 dirsw bit (1), /* directory switch */ 1 49 2 master_dir bit (1), /* master dir - a root for the log volume */ 1 50 2 volmap_seg bit (1), /* volmap_seg for some volume */ 1 51 2 tqsw (0:1) bit (1), /* terminal quota switch - (0) for non dir pages */ 1 52 2 pad_ic bit (10), /* Used to be aste.ic */ 1 53 1 54 2 dtu bit (36), /* date and time segment last used */ 1 55 1 56 2 dtm bit (36), /* date and time segment last modified */ 1 57 1 58 1 59 2 quota (0:1) fixed bin (18) unsigned, /* sec storage quota - (0) for non dir pages */ 1 60 1 61 2 used (0:1) fixed bin (18) unsigned, /* sec storage used - (0) for non dir pages */ 1 62 1 63 2 csl bit (9), /* current segment length in 1024 words units */ 1 64 2 fmchanged bit (1), /* turned on by page if file map changed */ 1 65 2 fms bit (1), /* file modified switch */ 1 66 2 npfs bit (1), /* no page fault switch */ 1 67 2 gtpd bit (1), /* global transparent paging device switch */ 1 68 2 dnzp bit (1), /* don't null out if zero page switch */ 1 69 2 per_process bit (1), /* use master quota for this entry */ 1 70 2 ddnp bit (1), /* don't deposit nulled pages */ 1 71 2 pad2 bit (2), 1 72 2 records bit (9), /* number of records used by the seg in sec storage */ 1 73 2 np bit (9), /* number of pages in core */ 1 74 1 75 1 76 2 ht_fp bit (18), /* hash table forward rel pointer */ 1 77 2 fmchanged1 bit (1), /* value of "fmchanged" saved by pc$get_file_map */ 1 78 2 damaged bit (1), /* PC declared segment unusable */ 1 79 2 pack_ovfl bit (1), /* page fault on seg would cause pack overflow */ 1 80 2 synchronized bit (1), /* Data Management synchronized segment */ 1 81 2 pad3 bit (6), /* OOOOOOOOO */ 1 82 2 ptsi bit (2), /* page table size index */ 1 83 2 marker bit (6)) unaligned; /* marker to indicate last word of ASTE */ 1 84 1 85 1 86 dcl asta (0 : 8000) bit (36*12 /* sst-> sst.astsize */) based aligned; 1 87 1 88 1 89 dcl 1 aste_part aligned based (astep), 1 90 1 91 2 one bit (36) unaligned, /* fp and bp */ 1 92 2 two bit (36*11 - 8) unaligned, /* part that has to be zeroed when ASTE is freed */ 1 93 2 three bit (8) unaligned; /* ptsi and marker */ 1 94 1 95 1 96 dcl 1 seg_aste based (astep) aligned, /* Overlay because quota is only for dirs */ 1 97 2 pad1 bit (8*36), 1 98 2 usage fixed bin (35), /* page fault count: overlays quota */ 1 99 2 pad2 bit (3*36); 1 100 1 101 /* END INCLUDE FILE ... aste.incl.pl1 */ 98 99 /* */ 2 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 2 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 2 4 /* Modified 07/07/76 by Morris for fault register data */ 2 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 2 6 /* Modified '82 to make values constant */ 2 7 2 8 /* words 0-15 pointer registers */ 2 9 2 10 dcl mcp ptr; 2 11 2 12 dcl 1 mc based (mcp) aligned, 2 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 2 14 (2 regs, /* registers */ 2 15 3 x (0:7) bit (18), /* index registers */ 2 16 3 a bit (36), /* accumulator */ 2 17 3 q bit (36), /* q-register */ 2 18 3 e bit (8), /* exponent */ 2 19 3 pad1 bit (28), 2 20 3 t bit (27), /* timer register */ 2 21 3 pad2 bit (6), 2 22 3 ralr bit (3), /* ring alarm register */ 2 23 2 24 2 scu (0:7) bit (36), 2 25 2 26 2 mask bit (72), /* mem controller mask at time of fault */ 2 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 2 28 2 errcode fixed bin (35), /* fault handler's error code */ 2 29 2 fim_temp, 2 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 2 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 2 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 2 33 2 fault_reg bit (36), /* fault register */ 2 34 2 pad2 bit (1), 2 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 2 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 2 37 2 fault_time bit (54), /* time of fault */ 2 38 2 39 2 eis_info (0:7) bit (36)) unaligned; 2 40 2 41 2 42 dcl (apx fixed bin init (0), 2 43 abx fixed bin init (1), 2 44 bpx fixed bin init (2), 2 45 bbx fixed bin init (3), 2 46 lpx fixed bin init (4), 2 47 lbx fixed bin init (5), 2 48 spx fixed bin init (6), 2 49 sbx fixed bin init (7)) internal static options (constant); 2 50 2 51 2 52 2 53 2 54 dcl scup ptr; 2 55 2 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 2 57 2 58 2 59 /* WORD (0) */ 2 60 2 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 2 62 3 prr bit (3), /* procedure ring register */ 2 63 3 psr bit (15), /* procedure segment register */ 2 64 3 p bit (1), /* procedure privileged bit */ 2 65 2 66 2 apu, /* APPENDING UNIT STATUS */ 2 67 3 xsf bit (1), /* ext seg flag - IT modification */ 2 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 2 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 2 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 2 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 2 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 2 73 3 dsptw bit (1), /* Fetch of DSPTW */ 2 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 2 75 3 sdwp bit (1), /* Fetch of SDW paged */ 2 76 3 ptw bit (1), /* Fetch of PTW */ 2 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 2 78 3 fap bit (1), /* Fetch of final address paged */ 2 79 3 fanp bit (1), /* Fetch of final address non-paged */ 2 80 3 fabs bit (1), /* Fetch of final address absolute */ 2 81 2 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 2 83 2 84 2 85 /* WORD (1) */ 2 86 2 87 2 fd, /* FAULT DATA */ 2 88 3 iro bit (1), /* illegal ring order */ 2 89 3 oeb bit (1), /* out of execute bracket */ 2 90 3 e_off bit (1), /* no execute */ 2 91 3 orb bit (1), /* out of read bracket */ 2 92 3 r_off bit (1), /* no read */ 2 93 3 owb bit (1), /* out of write bracket */ 2 94 3 w_off bit (1), /* no write */ 2 95 3 no_ga bit (1), /* not a gate */ 2 96 3 ocb bit (1), /* out of call bracket */ 2 97 3 ocall bit (1), /* outward call */ 2 98 3 boc bit (1), /* bad outward call */ 2 99 3 inret bit (1), /* inward return */ 2 100 3 crt bit (1), /* cross ring transfer */ 2 101 3 ralr bit (1), /* ring alarm register */ 2 102 3 am_er bit (1), /* associative memory fault */ 2 103 3 oosb bit (1), /* out of segment bounds */ 2 104 3 paru bit (1), /* processor parity upper */ 2 105 3 parl bit (1), /* processor parity lower */ 2 106 3 onc_1 bit (1), /* op not complete type 1 */ 2 107 3 onc_2 bit (1), /* op not complete type 2 */ 2 108 2 109 2 port_stat, /* PORT STATUS */ 2 110 3 ial bit (4), /* illegal action lines */ 2 111 3 iac bit (3), /* illegal action channel */ 2 112 3 con_chan bit (3), /* connect channel */ 2 113 2 114 2 fi_num bit (5), /* (fault/interrupt) number */ 2 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 2 116 2 117 2 118 /* WORD (2) */ 2 119 2 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 2 121 3 trr bit (3), /* temporary ring register */ 2 122 3 tsr bit (15), /* temporary segment register */ 2 123 2 124 2 pad2 bit (9), 2 125 2 126 2 cpu_no bit (3), /* CPU number */ 2 127 2 128 2 delta bit (6), /* tally modification DELTA */ 2 129 2 130 2 131 /* WORD (3) */ 2 132 2 133 2 word3 bit (18), 2 134 2 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 2 136 3 tsna, /* Word 1 status */ 2 137 4 prn bit (3), /* Word 1 PR number */ 2 138 4 prv bit (1), /* Word 1 PR valid bit */ 2 139 3 tsnb, /* Word 2 status */ 2 140 4 prn bit (3), /* Word 2 PR number */ 2 141 4 prv bit (1), /* Word 2 PR valid bit */ 2 142 3 tsnc, /* Word 3 status */ 2 143 4 prn bit (3), /* Word 3 PR number */ 2 144 4 prv bit (1), /* Word 3 PR valid bit */ 2 145 2 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 2 147 2 148 2 149 /* WORD (4) */ 2 150 2 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 2 152 2 153 2 ir, /* INDICATOR REGISTERS */ 2 154 3 zero bit (1), /* zero indicator */ 2 155 3 neg bit (1), /* negative indicator */ 2 156 3 carry bit (1), /* carryry indicator */ 2 157 3 ovfl bit (1), /* overflow indicator */ 2 158 3 eovf bit (1), /* eponent overflow */ 2 159 3 eufl bit (1), /* exponent underflow */ 2 160 3 oflm bit (1), /* overflow mask */ 2 161 3 tro bit (1), /* tally runout */ 2 162 3 par bit (1), /* parity error */ 2 163 3 parm bit (1), /* parity mask */ 2 164 3 bm bit (1), /* ^bar mode */ 2 165 3 tru bit (1), /* truncation mode */ 2 166 3 mif bit (1), /* multi-word instruction mode */ 2 167 3 abs bit (1), /* absolute mode */ 2 168 3 hex bit (1), /* hexadecimal exponent mode */ 2 169 3 pad bit (3), 2 170 2 171 2 172 /* WORD (5) */ 2 173 2 174 2 ca bit (18), /* COMPUTED ADDRESS */ 2 175 2 176 2 cu, /* CONTROL UNIT STATUS */ 2 177 3 rf bit (1), /* on first cycle of repeat instr */ 2 178 3 rpt bit (1), /* repeat instruction */ 2 179 3 rd bit (1), /* repeat double instruction */ 2 180 3 rl bit (1), /* repeat link instruciton */ 2 181 3 pot bit (1), /* IT modification */ 2 182 3 pon bit (1), /* return type instruction */ 2 183 3 xde bit (1), /* XDE from Even location */ 2 184 3 xdo bit (1), /* XDE from Odd location */ 2 185 3 poa bit (1), /* operation preparation */ 2 186 3 rfi bit (1), /* tells CPU to refetch instruction */ 2 187 3 its bit (1), /* ITS modification */ 2 188 3 if bit (1), /* fault occured during instruction fetch */ 2 189 2 190 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 2 191 2 192 2 193 /* WORDS (6,7) */ 2 194 2 195 2 even_inst bit (36), /* even instruction of faulting pair */ 2 196 2 197 2 odd_inst bit (36); /* odd instruction of faulting pair */ 2 198 2 199 2 200 2 201 2 202 2 203 2 204 /* ALTERNATE SCU DECLARATION */ 2 205 2 206 2 207 dcl 1 scux based (scup) aligned, 2 208 2 209 (2 pad0 bit (36), 2 210 2 211 2 fd, /* GROUP II FAULT DATA */ 2 212 3 isn bit (1), /* illegal segment number */ 2 213 3 ioc bit (1), /* illegal op code */ 2 214 3 ia_am bit (1), /* illegal address - modifier */ 2 215 3 isp bit (1), /* illegal slave procedure */ 2 216 3 ipr bit (1), /* illegal procedure */ 2 217 3 nea bit (1), /* non existent address */ 2 218 3 oobb bit (1), /* out of bounds */ 2 219 3 pad bit (29), 2 220 2 221 2 pad2 bit (36), 2 222 2 223 2 pad3a bit (18), 2 224 2 225 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 2 226 3 prn bit (3), /* PR number */ 2 227 3 prv bit (1), /* PR valid bit */ 2 228 2 229 2 pad3b bit (6)) unaligned, 2 230 2 231 2 pad45 (0:1) bit (36), 2 232 2 233 2 instr (0:1) bit (36); /* Instruction ARRAY */ 2 234 2 235 2 236 2 237 /* END INCLUDE FILE mc.incl.pl1 */ 99 100 /* START OF: page_error_types.incl.pl1 October 1982 * * * * * * * * * * * * * * * * */ 3 2 3 3 3 4 dcl (PAGE_ERROR_RQO init (0), 3 5 PAGE_ERROR_IOERR init (1), 3 6 PAGE_ERROR_BADFAULT init (2), 3 7 PAGE_ERROR_INVERROR init (3), 3 8 PAGE_ERROR_MAXTYPE init (2)) 3 9 fixed bin internal static options (constant); 3 10 3 11 /* END OF: page_error_types.incl.pl1 * * * * * * * * * * * * * * * * */ 100 101 /* BEGIN INCLUDE FILE ptw.incl.pl1 --- 09/13/74 for nss */ 4 2 4 3 dcl ptp ptr; /* pointer to either page table or page table word */ 4 4 4 5 dcl 1 ptw based (ptp) aligned, /* page table word */ 4 6 4 7 (2 add bit (18), /* address of page, type of which is defined by add_type */ 4 8 2 add_type bit (4), /* 0000=null, 1000=core, 0100=disk, 0010=pd, 0001=swap */ 4 9 2 first bit (1), /* the page has not yet been written out */ 4 10 2 processed bit (1), /* temporary used during post-purging and error signalling */ 4 11 2 pad1 bit (1), 4 12 2 unusable1 bit (1), /* can't be used because hardware resets this bit */ 4 13 2 phu bit (1), /* page has been used bit */ 4 14 2 phm1 bit (1), /* Cumulative OR of hardware phm's */ 4 15 2 nypd bit (1), /* must be moved to paging device */ 4 16 2 phm bit (1), /* page has been modified bit */ 4 17 2 phu1 bit (1), /* page has been used in the quantum */ 4 18 2 wired bit (1), /* page is to remain in core */ 4 19 2 os bit (1), /* page is out-of-service (I/O in progress) */ 4 20 2 df bit (1), /* directed fault if this is 0 (page not in core) */ 4 21 2 df_no bit (2)) unaligned; /* directed fault number for page faults */ 4 22 4 23 dcl 1 ptwa (0:255) based (ptp) aligned like ptw; /* page table */ 4 24 4 25 dcl ptwa_bits (0:255) based (ptp) bit (36) aligned; /* page table array as raw bits */ 4 26 4 27 dcl 1 mptw based (ptp) aligned, /* page table word while page is not in core */ 4 28 2 devadd bit (22) unaligned, /* device address where page resides */ 4 29 2 pad bit (14) unaligned; 4 30 4 31 dcl 1 mptwa (0 : 1) based (ptp) aligned, /* page table while pages are not in core */ 4 32 2 devadd bit (22) unaligned, /* device address where page resides */ 4 33 2 pad bit (14) unaligned; 4 34 4 35 dcl 1 atptw based (ptp) aligned, /* PL/I has problems on overlay-def based */ 4 36 2 add bit (18) unal, 4 37 2 (core, disk, pd, reserved) bit (1) unal, /* address types */ 4 38 2 pad bit (14) unal; 4 39 4 40 dcl 1 atptwa (0:255) based (ptp) aligned like atptw; 4 41 4 42 /* END INCLUDE FILE ptw.incl.pl1 */ 101 102 /* BEGIN INCLUDE FILE static_handlers.incl.pl1 */ 5 2 5 3 /* format: style4,indattr,ifthenstmt,ifthen,idind33,^indcomtxt */ 5 4 5 5 /* HISTORY: 5 6*Written by S. H. Webber, 06/20/75. 5 7*Modified: 5 8*12/15/83 by Benson Margulies: added undefined_pointer_sct_index and 5 9* pgt_sct_index. 5 10*06/11/84 by Lee A. Newcomb: added dm_shutdown_warning_sct_index and 5 11* dm_user_shutdown_sct_index for handling of Data Management 5 12* shutdown. 5 13*08/22/84 by R. Michael Tague: Removed dm_shutdown_warning_sct_index and 5 14* dm_user_shutdown_sct_index. Added 5 15* system_shutdown_scheduled_sct_index and 5 16* dm_shutdown_scheduled_sct_index. 5 17**/ 5 18 5 19 5 20 /****^ HISTORY COMMENTS: 5 21* 1) change(85-11-13,Herbst), approve(87-07-21,MCR7697), 5 22* audit(87-07-21,GDixon), install(87-08-04,MR12.1-1056): 5 23* Add system_message_sct_index. 5 24* END HISTORY COMMENTS */ 5 25 5 26 5 27 dcl ( 5 28 shutdown_sct_index init (0), 5 29 store_sct_index init (1), 5 30 mme1_sct_index init (2), 5 31 fault_tag_1_sct_index init (3), 5 32 timer_runout_sct_index init (4), 5 33 command_sct_index init (5), 5 34 derail_sct_index init (6), 5 35 lockup_sct_index init (7), 5 36 connect_sct_index init (8), 5 37 parity_sct_index init (9), 5 38 illegal_procedure_sct_index init (10), 5 39 op_not_complete_sct_index init (11), 5 40 startup_sct_index init (12), 5 41 ovrflo_sct_index init (13), 5 42 zerodivide_sct_index init (14), 5 43 execute_sct_index init (15), 5 44 seg_fault_error_sct_index init (16), 5 45 page_fault_error_sct_index init (17), 5 46 directed_fault_2_sct_index init (18), 5 47 directed_fault_3_sct_index init (19), 5 48 accessviolation_sct_index init (20), 5 49 mme2_sct_index init (21), 5 50 mme3_sct_index init (22), 5 51 mme4_sct_index init (23), 5 52 linkage_error_sct_index init (24), 5 53 fault_tag_3_sct_index init (25), 5 54 undefined_fault_sct_index init (26), 5 55 trouble_sct_index init (31), 5 56 illegal_opcode_sct_index init (32), 5 57 simfault_000000_sct_index init (33), 5 58 illegal_modifier_sct_index init (34), 5 59 illegal_ring_order_sct_index init (35), 5 60 not_in_execute_bracket_sct_index init (36), 5 61 no_execute_permission_sct_index init (37), 5 62 not_in_read_bracket_sct_index init (38), 5 63 no_read_permission_sct_index init (39), 5 64 not_in_write_bracket_sct_index init (40), 5 65 no_write_permission_sct_index init (41), 5 66 not_a_gate_sct_index init (42), 5 67 not_in_call_bracket_sct_index init (43), 5 68 outward_call_sct_index init (44), 5 69 bad_outward_call_sct_index init (45), 5 70 inward_return_sct_index init (46), 5 71 cross_ring_transfer_sct_index init (47), 5 72 ring_alarm_fault_sct_index init (48), 5 73 am_fault_sct_index init (49), 5 74 out_of_bounds_sct_index init (50), 5 75 fixedoverflow_sct_index init (51), 5 76 overflow_sct_index init (52), 5 77 underflow_sct_index init (53), 5 78 stringsize_sct_index init (54), 5 79 other_illegal_proc_sct_index init (55), 5 80 storage_sct_index init (56), 5 81 packed_pointer_fault_sct_index init (57), 5 82 lot_fault_sct_index init (58), 5 83 isot_fault_sct_index init (59), 5 84 system_packed_pointer_sct_index init (60), 5 85 quit_sct_index init (61), 5 86 alrm_sct_index init (62), 5 87 cput_sct_index init (63), 5 88 record_quota_overflow_sct_index init (64), 5 89 size_sct_index init (65), 5 90 neti_sct_index init (66), 5 91 other_command_sct_index init (67), 5 92 susp_sct_index init (68), 5 93 term_sct_index init (69), 5 94 wkp_sct_index init (70), 5 95 undefined_pointer_sct_index init (71), 5 96 pgt_sct_index init (72), 5 97 system_shutdown_scheduled_sct_index 5 98 init (73), 5 99 dm_shutdown_scheduled_sct_index init (74), 5 100 system_message_sct_index init (75) 5 101 ) fixed bin (17) int static options (constant); 5 102 5 103 /* END INCLUDE FILE static_handlers.incl.pl1 */ 102 103 104 end pc_signal; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0804.3 pc_signal.pl1 >spec>install>1111>pc_signal.pl1 98 1 01/30/85 1523.9 aste.incl.pl1 >ldd>include>aste.incl.pl1 99 2 12/15/83 1100.4 mc.incl.pl1 >ldd>include>mc.incl.pl1 100 3 11/23/82 0953.8 page_error_types.incl.pl1 >ldd>include>page_error_types.incl.pl1 101 4 05/03/78 1422.1 ptw.incl.pl1 >ldd>include>ptw.incl.pl1 102 5 08/06/87 0913.5 static_handlers.incl.pl1 >ldd>include>static_handlers.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. Aste based structure level 1 dcl 43 Astep parameter pointer packed unaligned dcl 21 ref 9 88 Error_Type parameter fixed bin(17,0) dcl 20 ref 9 67 67 69 PAGE_ERROR_INVERROR constant fixed bin(17,0) initial dcl 3-4 ref 67 PAGE_ERROR_MAXTYPE constant fixed bin(17,0) initial dcl 3-4 ref 67 Ptw based structure level 1 dcl 44 Ptwp parameter pointer packed unaligned dcl 22 ref 9 86 87 SIGNAL_NAME 000004 constant char(32) initial array packed unaligned dcl 37 ref 73 74 add 000101 automatic bit(18) level 2 in structure "page_fault_error_code" packed packed unaligned dcl 27 in procedure "pc_signal" set ref 86* add based bit(18) level 2 in structure "Ptw" packed packed unaligned dcl 44 in procedure "pc_signal" ref 86 add_type 0(18) 000101 automatic bit(4) level 2 in structure "page_fault_error_code" packed packed unaligned dcl 27 in procedure "pc_signal" set ref 87* add_type 0(18) based bit(4) level 2 in structure "Ptw" packed packed unaligned dcl 44 in procedure "pc_signal" ref 87 aste based structure level 1 dcl 1-11 atptw based structure level 1 dcl 4-35 bin builtin function dcl 59 ref 78 83 bit builtin function dcl 60 ref 78 83 chars 0(09) 000010 external static char(21) level 2 packed packed unaligned dcl 48 set ref 74* errcode 43 000014 external static fixed bin(35,0) level 2 packed packed unaligned dcl 54 set ref 80* 89* error_type 000100 automatic fixed bin(17,0) dcl 26 set ref 67* 69* 73 74 76 fcode 44(19) 000014 external static bit(17) level 3 packed packed unaligned dcl 54 set ref 78* 83* fim_temp 44 000014 external static structure level 2 packed packed unaligned dcl 54 len 000010 external static fixed bin(8,0) level 2 packed packed unaligned dcl 48 set ref 73* length builtin function dcl 61 ref 73 mc based structure level 1 dcl 2-12 page_fault_error_code 000101 automatic structure level 1 dcl 27 set ref 85* 89 page_fault_error_sct_index constant fixed bin(17,0) initial dcl 5-27 ref 83 pds$condition_name 000010 external static structure level 1 dcl 48 pds$page_fault_data 000012 external static structure level 1 dcl 52 ref 71 pds$signal_data 000014 external static structure level 1 dcl 54 set ref 71* ptw based structure level 1 dcl 4-5 pvtx 4(09) based fixed bin(8,0) level 2 in structure "Aste" packed packed unaligned dcl 43 in procedure "pc_signal" ref 88 pvtx 0(27) 000101 automatic fixed bin(9,0) level 2 in structure "page_fault_error_code" packed packed unsigned unaligned dcl 27 in procedure "pc_signal" set ref 88* record_quota_overflow_sct_index constant fixed bin(17,0) initial dcl 5-27 ref 78 rtrim builtin function dcl 62 ref 73 74 sst$rqover 000016 external static fixed bin(35,0) dcl 55 ref 80 unspec builtin function dcl 63 set ref 71* 71 85* 89* 89 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. PAGE_ERROR_BADFAULT internal static fixed bin(17,0) initial dcl 3-4 PAGE_ERROR_IOERR internal static fixed bin(17,0) initial dcl 3-4 PAGE_ERROR_RQO internal static fixed bin(17,0) initial dcl 3-4 abx internal static fixed bin(17,0) initial dcl 2-42 accessviolation_sct_index internal static fixed bin(17,0) initial dcl 5-27 alrm_sct_index internal static fixed bin(17,0) initial dcl 5-27 am_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 apx internal static fixed bin(17,0) initial dcl 2-42 asta based bit(432) array dcl 1-86 aste_part based structure level 1 dcl 1-89 astep automatic pointer dcl 1-9 atptwa based structure array level 1 dcl 4-40 bad_outward_call_sct_index internal static fixed bin(17,0) initial dcl 5-27 bbx internal static fixed bin(17,0) initial dcl 2-42 bpx internal static fixed bin(17,0) initial dcl 2-42 command_sct_index internal static fixed bin(17,0) initial dcl 5-27 connect_sct_index internal static fixed bin(17,0) initial dcl 5-27 cput_sct_index internal static fixed bin(17,0) initial dcl 5-27 cross_ring_transfer_sct_index internal static fixed bin(17,0) initial dcl 5-27 derail_sct_index internal static fixed bin(17,0) initial dcl 5-27 directed_fault_2_sct_index internal static fixed bin(17,0) initial dcl 5-27 directed_fault_3_sct_index internal static fixed bin(17,0) initial dcl 5-27 dm_shutdown_scheduled_sct_index internal static fixed bin(17,0) initial dcl 5-27 execute_sct_index internal static fixed bin(17,0) initial dcl 5-27 fault_tag_1_sct_index internal static fixed bin(17,0) initial dcl 5-27 fault_tag_3_sct_index internal static fixed bin(17,0) initial dcl 5-27 fixedoverflow_sct_index internal static fixed bin(17,0) initial dcl 5-27 illegal_modifier_sct_index internal static fixed bin(17,0) initial dcl 5-27 illegal_opcode_sct_index internal static fixed bin(17,0) initial dcl 5-27 illegal_procedure_sct_index internal static fixed bin(17,0) initial dcl 5-27 illegal_ring_order_sct_index internal static fixed bin(17,0) initial dcl 5-27 inward_return_sct_index internal static fixed bin(17,0) initial dcl 5-27 isot_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 lbx internal static fixed bin(17,0) initial dcl 2-42 linkage_error_sct_index internal static fixed bin(17,0) initial dcl 5-27 lockup_sct_index internal static fixed bin(17,0) initial dcl 5-27 lot_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 lpx internal static fixed bin(17,0) initial dcl 2-42 mcp automatic pointer dcl 2-10 mme1_sct_index internal static fixed bin(17,0) initial dcl 5-27 mme2_sct_index internal static fixed bin(17,0) initial dcl 5-27 mme3_sct_index internal static fixed bin(17,0) initial dcl 5-27 mme4_sct_index internal static fixed bin(17,0) initial dcl 5-27 mptw based structure level 1 dcl 4-27 mptwa based structure array level 1 dcl 4-31 neti_sct_index internal static fixed bin(17,0) initial dcl 5-27 no_execute_permission_sct_index internal static fixed bin(17,0) initial dcl 5-27 no_read_permission_sct_index internal static fixed bin(17,0) initial dcl 5-27 no_write_permission_sct_index internal static fixed bin(17,0) initial dcl 5-27 not_a_gate_sct_index internal static fixed bin(17,0) initial dcl 5-27 not_in_call_bracket_sct_index internal static fixed bin(17,0) initial dcl 5-27 not_in_execute_bracket_sct_index internal static fixed bin(17,0) initial dcl 5-27 not_in_read_bracket_sct_index internal static fixed bin(17,0) initial dcl 5-27 not_in_write_bracket_sct_index internal static fixed bin(17,0) initial dcl 5-27 op_not_complete_sct_index internal static fixed bin(17,0) initial dcl 5-27 other_command_sct_index internal static fixed bin(17,0) initial dcl 5-27 other_illegal_proc_sct_index internal static fixed bin(17,0) initial dcl 5-27 out_of_bounds_sct_index internal static fixed bin(17,0) initial dcl 5-27 outward_call_sct_index internal static fixed bin(17,0) initial dcl 5-27 overflow_sct_index internal static fixed bin(17,0) initial dcl 5-27 ovrflo_sct_index internal static fixed bin(17,0) initial dcl 5-27 packed_pointer_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 parity_sct_index internal static fixed bin(17,0) initial dcl 5-27 pgt_sct_index internal static fixed bin(17,0) initial dcl 5-27 ptp automatic pointer dcl 4-3 ptwa based structure array level 1 dcl 4-23 ptwa_bits based bit(36) array dcl 4-25 ptwp automatic pointer dcl 33 quit_sct_index internal static fixed bin(17,0) initial dcl 5-27 ring_alarm_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 sbx internal static fixed bin(17,0) initial dcl 2-42 scu based structure level 1 dcl 2-56 scup automatic pointer dcl 2-54 scux based structure level 1 dcl 2-207 seg_aste based structure level 1 dcl 1-96 seg_fault_error_sct_index internal static fixed bin(17,0) initial dcl 5-27 shutdown_sct_index internal static fixed bin(17,0) initial dcl 5-27 simfault_000000_sct_index internal static fixed bin(17,0) initial dcl 5-27 size_sct_index internal static fixed bin(17,0) initial dcl 5-27 spx internal static fixed bin(17,0) initial dcl 2-42 startup_sct_index internal static fixed bin(17,0) initial dcl 5-27 storage_sct_index internal static fixed bin(17,0) initial dcl 5-27 store_sct_index internal static fixed bin(17,0) initial dcl 5-27 stringsize_sct_index internal static fixed bin(17,0) initial dcl 5-27 susp_sct_index internal static fixed bin(17,0) initial dcl 5-27 system_message_sct_index internal static fixed bin(17,0) initial dcl 5-27 system_packed_pointer_sct_index internal static fixed bin(17,0) initial dcl 5-27 system_shutdown_scheduled_sct_index internal static fixed bin(17,0) initial dcl 5-27 term_sct_index internal static fixed bin(17,0) initial dcl 5-27 timer_runout_sct_index internal static fixed bin(17,0) initial dcl 5-27 trouble_sct_index internal static fixed bin(17,0) initial dcl 5-27 undefined_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 undefined_pointer_sct_index internal static fixed bin(17,0) initial dcl 5-27 underflow_sct_index internal static fixed bin(17,0) initial dcl 5-27 wkp_sct_index internal static fixed bin(17,0) initial dcl 5-27 zerodivide_sct_index internal static fixed bin(17,0) initial dcl 5-27 NAMES DECLARED BY EXPLICIT CONTEXT. TYPE_SPECIFIC 000000 constant label array(0:3) dcl 78 ref 76 pc_signal 000052 constant entry external dcl 9 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 264 304 204 274 Length 546 204 20 226 57 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME pc_signal 68 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME pc_signal 000100 error_type pc_signal 000101 page_fault_error_code pc_signal THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. return_mac ext_entry NO EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. pds$condition_name pds$page_fault_data pds$signal_data sst$rqover LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 9 000046 67 000057 69 000067 71 000070 73 000075 74 000114 76 000126 78 000130 80 000140 81 000142 83 000143 85 000153 86 000154 87 000163 88 000167 89 000177 91 000202 93 000203 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved