/* BEGIN INCLUDE FILE lisp_faults.incl.pl1 */ /* * Written 14 Aug 72 by D A Moon * Fault codes changed 4 Feb 73 by DAM, for user interrupt masking and new alarmclock facility * Names changed 16 Dec 1973 by DAM because of a name conflict with lisp_free_storage.incl.pl1 * Modified 74.06.03 by DAM for new-arrays * Modified 74.12.16 by DAM to change meaning of 'masked' */ dcl (Alarmclock_fault init(2), Cput_fault init(1), Car_cdr_fault init(6), Quit_fault init(4), Array_fault init(5), Zerodivide_fault init(7), Underflow_fault init(8), Old_store_fault init(9), /* old/new array compatibility */ Pi_fault init(10) /* program_interrupt signal */ ) fixed bin static; /* structure for saving info when a fault or an error ocuurs. This structure gets pushed onto the unmkd pdl */ dcl 1 fault_save aligned based (unm), 2 prev_frame bit(18)unaligned, /* thread */ 2 stack_ptr bit(18) unaligned, /* rel(stack_ptr) at time frame was created */ 2 sv_gc_inhibit bit(1) unaligned, /* save lisp_static_vars_$garbage_collect_inhibit */ 2 sv_masked like masked unaligned, /* save lisp_static_vars_$masked - for err breaks in (nointerrupt t) mode */ 2 code1 fixed bin, /* error code 1, 0 = not errprintable error */ 2 code2 fixed bin, /* error code 2, for file system errors */ 2 sv_array_info ptr, /* save array_info_for_store in stack header */ 2 sv_rdr_label label, /* -> abnormal return from call to ios_$read */ 2 sv_rdr_ptr ptr, /* datum used by reader for readlist control */ 2 sv_rdr_state fixed bin, /* 0=normal, 1=wait for input, 2=readlist */ 2 sv_array_offset fixed bin(18), /* save array_offset_for_store in stack header */ 2 padding bit(36), /* make structure an even number of words in size */ 2 dat_ptr bit(18); /* rel ptr to marked pdl slot containing losing form */ /* needed by errprint */ /* size(fault_save) must be even */ /* declarations of the things that get saved here */ dcl lisp_static_vars_$garbage_collect_inhibit bit(1) aligned external, 1 lisp_static_vars_$masked aligned external like masked, lisp_static_vars_$pending_ctrl bit(1) aligned external, /* flag that we are doing stacked-up ctrl chars right now, makes sure none get missed if ^G */ lisp_static_vars_$deferred_interrupt bit(1) aligned external, /* when we unmask, we test this to */ /* see if we must poll interrupts */ lisp_static_vars_$rdr_label label external, lisp_static_vars_$rdr_ptr ptr external, lisp_static_vars_$rdr_state fixed bin external, gc_inhibit bit(1) aligned defined(lisp_static_vars_$garbage_collect_inhibit), deferred_interrupt bit (1) aligned defined (lisp_static_vars_$deferred_interrupt), 1 masked aligned based(addr(lisp_static_vars_$masked)), /* defined causes fault in compiler */ 2 against unaligned, /* things masked against: */ 3 tty bit(1), /* tty control characters */ 3 alarm bit(1), /* alarmclock interrupts */ pending_ctrl bit(1) aligned defined (lisp_static_vars_$pending_ctrl), lisp_fault_handler_$set_mask entry(1 aligned like masked), rdr_label label defined (lisp_static_vars_$rdr_label), rdr_ptr ptr defined (lisp_static_vars_$rdr_ptr), rdr_state fixed bin defined (lisp_static_vars_$rdr_state); /* END INCLUDE FILE lisp_faults.incl.pl1 */ */ ----------------------------------------------------------- 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 */