;;; -*-Scheme-*-
;;;
-;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/intrpt.scm,v 13.43 1987/03/17 18:50:56 cph Exp $
+;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/intrpt.scm,v 13.44 1987/05/27 14:58:22 cph Rel $
;;;
;;; Copyright (c) 1987 Massachusetts Institute of Technology
;;;
; (install-keyboard-interrupt! #\S ^S-interrupt-handler)
; (install-keyboard-interrupt! #\Q ^Q-interrupt-handler)
-(define stack-overflow-slot 0)
-(define gc-slot 2)
-(define character-slot 4)
-(define timer-slot 6)
+(define stack-overflow-slot 0)
+(define gc-slot 2)
+(define character-slot 4)
+(define timer-slot 6)
+(define illegal-interrupt-slot 8)
+
+(define (illegal-interrupt-handler interrupt-code interrupt-enables)
+ (error "Illegal interrupt" interrupt-code interrupt-enables))
+
+(define (default-interrupt-handler interrupt-code interrupt-enables)
+ (error "Anomalous interrupt" interrupt-code interrupt-enables))
\f
(define (install)
(with-interrupts-reduced interrupt-mask-gc-ok
external-interrupt-handler)
(vector-set! system-interrupt-vector timer-slot
timer-interrupt-handler)
+ (vector-set! system-interrupt-vector illegal-interrupt-slot
+ illegal-interrupt-handler)
- ;; slots 4-15 unused.
-
- ;; install the new vector atomically
+ ;; install the new vector atomically
(vector-set! (get-fixed-objects-vector)
index:interrupt-vector
system-interrupt-vector)
termination-vector)
(set-fixed-objects-vector! (get-fixed-objects-vector)))))))
-
-(define (default-interrupt-handler interrupt-code interrupt-enables)
- (write-string "Anomalous Interrupt: ") (write interrupt-code)
- (write-string " Mask: ") (write interrupt-enables))
\f
(set! with-external-interrupts-handler
(named-lambda (with-external-interrupts-handler handler code)