Update of /project/movitz/cvsroot/movitz In directory common-lisp.net:/tmp/cvs-serv16978
Modified Files: image.lisp Log Message: Changed the way the interrupt-descriptor-table is generated. Now, the host/build-time value is a vector whose elements are names of primitive-functions that act as interrupt trampolines. Each such trampoline (ie. at present only muerte:default-interrupt-trampoline) at position x in the table must define an (integer) assembly-level label x, which will become the entry-point of that interrupt-gate.
Date: Tue Aug 10 06:25:16 2004 Author: ffjeld
Index: movitz/image.lisp diff -u movitz/image.lisp:1.63 movitz/image.lisp:1.64 --- movitz/image.lisp:1.63 Mon Aug 9 06:38:54 2004 +++ movitz/image.lisp Tue Aug 10 06:25:16 2004 @@ -9,7 +9,7 @@ ;;;; Created at: Sun Oct 22 00:22:43 2000 ;;;; Distribution: See the accompanying file COPYING. ;;;; -;;;; $Id: image.lisp,v 1.63 2004/08/09 13:38:54 ffjeld Exp $ +;;;; $Id: image.lisp,v 1.64 2004/08/10 13:25:16 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -358,9 +358,9 @@ (interrupt-descriptor-table :binary-type word :accessor movitz-run-time-context-interrupt-descriptor-table - :initarg :interrupt-descriptor-table + :initform (make-array 256 :initial-element 'muerte::default-interrupt-trampoline) :map-binary-read-delayed 'movitz-word - :map-binary-write 'map-idt-to-array) + :map-binary-write 'map-interrupt-trampolines-to-idt) (toplevel-funobj :binary-type word :initform nil @@ -813,8 +813,6 @@ 'segment-descriptor-table)) 16)) (warn "Segment descriptor table is not aligned on a 16-byte boundary.")) - (setf (movitz-run-time-context-interrupt-descriptor-table (image-run-time-context *image*)) - (movitz-read (make-initial-interrupt-descriptors))) (setf (image-t-symbol *image*) (movitz-read t)) ;; (warn "NIL value: #x~X" (image-nil-word *image*)) *image*))