From ee94e50e814b2d3906f9ca7f092d26556f3706ff Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Thu, 8 Oct 1992 22:10:34 +0000
Subject: [PATCH] Added definition for SANCTIFY-FOR-EXECUTION.

---
 code/hppa-vm.lisp  | 21 +++++++++++++++++++--
 code/pmax-vm.lisp  | 16 +++++++++++++---
 code/sparc-vm.lisp | 18 ++++++++++++++----
 3 files changed, 46 insertions(+), 9 deletions(-)

diff --git a/code/hppa-vm.lisp b/code/hppa-vm.lisp
index b8a0a2c29..ce033fb51 100644
--- a/code/hppa-vm.lisp
+++ b/code/hppa-vm.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/hppa-vm.lisp,v 1.4 1992/07/09 16:36:39 wlott Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/hppa-vm.lisp,v 1.5 1992/10/08 22:10:02 wlott Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -22,7 +22,7 @@
 (export '(fixup-code-object internal-error-arguments
 	  sigcontext-program-counter sigcontext-register
 	  sigcontext-float-register sigcontext-floating-point-modes
-	  extern-alien-name))
+	  extern-alien-name sanctify-for-execution))
 
 
 ;;;; The sigcontext structure.
@@ -213,3 +213,20 @@
   name)
 
 
+
+;;; SANCTIFY-FOR-EXECUTION -- Interface.
+;;;
+;;; Do whatever is necessary to make the given code component executable.
+;;; On the PA-RISC, this means flushing the data cache and purging the
+;;; inst cache.
+;;; 
+(defun sanctify-for-execution (component)
+  (without-gcing
+    (alien-funcall (extern-alien "sanctify_for_execution"
+				 (function void
+					   system-area-pointer
+					   unsigned-long))
+		   (code-instructions component)
+		   (* (code-header-ref component code-code-size-slot)
+		      word-bytes)))
+  nil)
diff --git a/code/pmax-vm.lisp b/code/pmax-vm.lisp
index 902f4eb2e..aec8bc202 100644
--- a/code/pmax-vm.lisp
+++ b/code/pmax-vm.lisp
@@ -7,11 +7,11 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/pmax-vm.lisp,v 1.11 1992/07/09 16:43:54 wlott Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/pmax-vm.lisp,v 1.12 1992/10/08 22:10:34 wlott Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/pmax-vm.lisp,v 1.11 1992/07/09 16:43:54 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/pmax-vm.lisp,v 1.12 1992/10/08 22:10:34 wlott Exp $
 ;;;
 ;;; This file contains the PMAX specific runtime stuff.
 ;;;
@@ -24,7 +24,7 @@
 (export '(fixup-code-object internal-error-arguments
 	  sigcontext-program-counter sigcontext-register
 	  sigcontext-float-register sigcontext-floating-point-modes
-	  extern-alien-name))
+	  extern-alien-name sanctify-for-execution))
 
 
 ;;;; The sigcontext structure.
@@ -197,3 +197,13 @@
 (defun extern-alien-name (name)
   (declare (type simple-base-string name))
   name)
+
+
+
+;;; SANCTIFY-FOR-EXECUTION -- Interface.
+;;;
+;;; Do whatever is necessary to make the given code component executable.
+;;; 
+(defun sanctify-for-execution (component)
+  (declare (ignore component))
+  nil)
diff --git a/code/sparc-vm.lisp b/code/sparc-vm.lisp
index e55e626ae..8029e1485 100644
--- a/code/sparc-vm.lisp
+++ b/code/sparc-vm.lisp
@@ -7,12 +7,10 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/sparc-vm.lisp,v 1.14 1992/09/08 23:29:40 wlott Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/sparc-vm.lisp,v 1.15 1992/10/08 22:10:21 wlott Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/sparc-vm.lisp,v 1.14 1992/09/08 23:29:40 wlott Exp $
-;;;
 ;;; This file contains the SPARC specific runtime stuff.
 ;;;
 (in-package "SPARC")
@@ -22,7 +20,7 @@
 (export '(fixup-code-object internal-error-arguments
 	  sigcontext-program-counter sigcontext-register
 	  sigcontext-float-register sigcontext-floating-point-modes
-	  extern-alien-name))
+	  extern-alien-name sanctify-for-execution))
 
 
 ;;;; The sigcontext structure.
@@ -241,3 +239,15 @@
 (defun extern-alien-name (name)
   (declare (type simple-base-string name))
   (concatenate 'string "_" name))
+
+
+
+;;; SANCTIFY-FOR-EXECUTION -- Interface.
+;;;
+;;; Do whatever is necessary to make the given code component executable.
+;;; On the sparc, we don't need to do anything, because the i and d caches
+;;; are unified.
+;;; 
+(defun sanctify-for-execution (component)
+  (declare (ignore component))
+  nil)
-- 
GitLab