[movitz-cvs] CVS update: movitz/losp/muerte/interrupt.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Mon Jan 17 10:51:12 UTC 2005


Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv30097

Modified Files:
	interrupt.lisp 
Log Message:
Save the CR2 register in the DIT-frame. It holds the offending address
in case of a page-fault.

Date: Mon Jan 17 11:51:09 2005
Author: ffjeld

Index: movitz/losp/muerte/interrupt.lisp
diff -u movitz/losp/muerte/interrupt.lisp:1.34 movitz/losp/muerte/interrupt.lisp:1.35
--- movitz/losp/muerte/interrupt.lisp:1.34	Tue Jan  4 17:54:16 2005
+++ movitz/losp/muerte/interrupt.lisp	Mon Jan 17 11:51:09 2005
@@ -10,7 +10,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Created at:    Wed Apr  7 01:50:03 2004
 ;;;;                
-;;;; $Id: interrupt.lisp,v 1.34 2005/01/04 16:54:16 ffjeld Exp $
+;;;; $Id: interrupt.lisp,v 1.35 2005/01/17 10:51:09 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -27,8 +27,10 @@
       :edi
       :dynamic-env
       :atomically-continuation
-      :raw-scratch0      
-      :ecx :eax :edx :ebx :esi
+      :raw-scratch0
+      :ecx
+      :cr2
+      :eax :edx :ebx :esi
       :scratch1 :scratch2
       :debug0
       :debug1
@@ -124,7 +126,10 @@
 	    (:locally (:pushl (:edi (:edi-offset dynamic-env))))
 	    (:locally (:pushl (:edi (:edi-offset atomically-continuation))))
 	    (:locally (:pushl (:edi (:edi-offset raw-scratch0))))
-	    ,@(loop for reg in (sort (copy-list '(:eax :ebx :ecx :edx :esi))
+	    (:locally (:pushl :ecx))
+	    (:movcr :cr2 :ecx)
+	    (:locally (:pushl :ecx))
+	    ,@(loop for reg in (sort (copy-list '(:eax :ebx :edx :esi))
 				     #'>
 				     :key #'dit-frame-index)
 		  collect `(:pushl ,reg))




More information about the Movitz-cvs mailing list