diff --git a/code/pmax-vm.lisp b/code/pmax-vm.lisp
index 83579713560a3c72cb028e47720b03cc9bf6ccd3..ef364a041ec68c45827f3c9b18c16bd5aa86f8eb 100644
--- a/code/pmax-vm.lisp
+++ b/code/pmax-vm.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/pmax-vm.lisp,v 1.4 1990/11/26 18:55:08 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/pmax-vm.lisp,v 1.5 1990/12/06 17:39:33 ram Exp $
 ;;;
 ;;; This file contains the PMAX specific runtime stuff.
 ;;;
@@ -83,3 +83,16 @@
 	      (sc-offsets (c::read-var-integer vector index)))
 	    (values error-number (sc-offsets))))))))
 
+
+;;; SIGCONTEXT-FLOATING-POINT-MODES  --  Interface
+;;;
+;;;    Given a sigcontext pointer, return the floating point modes word in the
+;;; same format as returned by FLOATING-POINT-MODES.
+;;;
+(defun sigcontext-floating-point-modes (scp)
+  (alien-bind ((sc (make-alien 'mach:sigcontext
+					     #.(ext:c-sizeof 'mach:sigcontext)
+					     scp)
+			  mach:sigcontext
+			  t))
+    (alien-access (mach:sigcontext-fpc_csr (alien-value sc)))))
diff --git a/code/sparc-vm.lisp b/code/sparc-vm.lisp
index bf4b6fc156612b1d7a34afe56549d0649528f111..72ec513e675d211cb225803b4aa9831c3ee8384c 100644
--- a/code/sparc-vm.lisp
+++ b/code/sparc-vm.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/sparc-vm.lisp,v 1.4 1990/11/27 08:45:47 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/sparc-vm.lisp,v 1.5 1990/12/06 17:40:17 ram Exp $
 ;;;
 ;;; This file contains the SPARC specific runtime stuff.
 ;;;
@@ -73,3 +73,17 @@
 	      (return))
 	    (sc-offsets (c::read-var-integer vector index)))
 	  (values error-number (sc-offsets)))))))
+
+
+;;; SIGCONTEXT-FLOATING-POINT-MODES  --  Interface
+;;;
+;;;    Given a sigcontext pointer, return the floating point modes word in the
+;;; same format as returned by FLOATING-POINT-MODES.
+;;;
+(defun sigcontext-floating-point-modes (scp)
+  (alien-bind ((sc (make-alien 'mach:sigcontext
+					     #.(ext:c-sizeof 'mach:sigcontext)
+					     scp)
+			  mach:sigcontext
+			  t))
+    (alien-access (mach:sigcontext-fsr (alien-value sc)))))