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)))))