Update of /project/movitz/cvsroot/movitz/losp/muerte In directory clnet:/tmp/cvs-serv29643
Modified Files: segments.lisp Log Message: Add some without-check-stack-limit declarations, because these operators are used by the stack-exhausted handler.
--- /project/movitz/cvsroot/movitz/losp/muerte/segments.lisp 2005/06/10 22:43:52 1.16 +++ /project/movitz/cvsroot/movitz/losp/muerte/segments.lisp 2007/03/21 20:20:12 1.17 @@ -10,7 +10,7 @@ ;;;; Author: Frode Vatvedt Fjeld frodef@acm.org ;;;; Created at: Thu May 8 14:25:06 2003 ;;;; -;;;; $Id: segments.lisp,v 1.16 2005/06/10 22:43:52 ffjeld Exp $ +;;;; $Id: segments.lisp,v 1.17 2007/03/21 20:20:12 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -22,6 +22,7 @@
(defun segment-register (segment-register-name) "Return the value of an x86 segment register, such as :cs or :ds." + (declare (without-check-stack-limit)) (macrolet ((sreg (reg) `(with-inline-assembly (:returns :untagged-fixnum-ecx) (:xorl :ecx :ecx) @@ -37,6 +38,7 @@ (defun (setf segment-register) (value segment-register-name) "This function indiscriminately sets a segment register, which is a great way to crash the machine. So know what you're doing." + (declare (without-check-stack-limit)) (check-type value (unsigned-byte 16)) (macrolet ((set-sreg (reg) `(with-inline-assembly (:returns :nothing) @@ -64,6 +66,7 @@ (defun %sgdt () "Return the location of the GDT, and the limit. Error if the GDT location is not zero modulo 4." + (declare (without-check-stack-limit)) (eval-when (:compile-toplevel) (assert (= 4 movitz:+movitz-fixnum-factor+))) (without-interrupts @@ -85,6 +88,7 @@ (defun %lgdt (base-location limit) "Set the GDT according to base-location and limit. This is the setter corresponding to the sgdt getter." + (declare (without-check-stack-limit)) (eval-when (:compile-toplevel) (assert (= 4 movitz:+movitz-fixnum-factor+))) (check-type base-location fixnum)