[cmucl-commit] CMUCL commit: cross-sol-x86-branch src (compiler/x86/parms.lisp lisp/x86-validate.h)
Raymond Toy
rtoy at common-lisp.net
Wed Dec 15 13:43:46 CET 2010
Date: Wednesday, December 15, 2010 @ 07:43:46
Author: rtoy
Path: /project/cmucl/cvsroot/src
Tag: cross-sol-x86-branch
Modified: compiler/x86/parms.lisp lisp/x86-validate.h
Move the spaces around a bit.
compiler/x86/parms.lisp:
o Move the linkage space to #x30000000, which is in the gap between
the static space and the control stack.
lisp/x86-validate.h:
o Document the memory map for Solaris.
o Set the altstack to the end of the control stack.
.
-------------------------+
compiler/x86/parms.lisp | 7 ++++---
lisp/x86-validate.h | 20 +++++++++++++++++++-
2 files changed, 23 insertions(+), 4 deletions(-)
Index: src/compiler/x86/parms.lisp
diff -u src/compiler/x86/parms.lisp:1.41.2.1 src/compiler/x86/parms.lisp:1.41.2.2
--- src/compiler/x86/parms.lisp:1.41.2.1 Mon Dec 13 23:25:11 2010
+++ src/compiler/x86/parms.lisp Wed Dec 15 07:43:46 2010
@@ -7,7 +7,7 @@
;;; Scott Fahlman or slisp-group at cs.cmu.edu.
;;;
(ext:file-comment
- "$Header: /project/cmucl/cvsroot/src/compiler/x86/parms.lisp,v 1.41.2.1 2010-12-14 04:25:11 rtoy Exp $")
+ "$Header: /project/cmucl/cvsroot/src/compiler/x86/parms.lisp,v 1.41.2.2 2010-12-15 12:43:46 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
@@ -65,7 +65,7 @@
(setf (c::backend-foreign-linkage-space-start *target-backend*)
#+linux #x58000000
- #+solaris #xC0000000
+ #+solaris #x30000000
#-(or linux solaris) #xB0000000
(c::backend-foreign-linkage-entry-size *target-backend*)
8)
@@ -218,7 +218,8 @@
#-FreeBSD #x28000000)
(defconstant target-dynamic-space-start
#+linux #x58100000
- #-linux #x48000000)
+ #+solaris #x40000000
+ #-(or linux solaris) #x48000000)
(defconstant target-foreign-linkage-space-start
(c:backend-foreign-linkage-space-start *target-backend*))
(defconstant target-foreign-linkage-entry-size
Index: src/lisp/x86-validate.h
diff -u src/lisp/x86-validate.h:1.31.8.1 src/lisp/x86-validate.h:1.31.8.2
--- src/lisp/x86-validate.h:1.31.8.1 Mon Dec 13 23:25:11 2010
+++ src/lisp/x86-validate.h Wed Dec 15 07:43:46 2010
@@ -3,7 +3,7 @@
* This code was written as part of the CMU Common Lisp project at
* Carnegie Mellon University, and has been placed in the public domain.
*
- * $Header: /project/cmucl/cvsroot/src/lisp/x86-validate.h,v 1.31.8.1 2010-12-14 04:25:11 rtoy Exp $
+ * $Header: /project/cmucl/cvsroot/src/lisp/x86-validate.h,v 1.31.8.2 2010-12-15 12:43:46 rtoy Exp $
*
*/
@@ -189,6 +189,23 @@
#endif
#ifdef SOLARIS
+/*
+ * The memory map for Solaris/x86 looks roughly like
+ *
+ * 0x08045000->0x08050000 C stack?
+ * 0x08050000-> Code + C heap
+ * 0x10000000->0x20000000 256 MB read-only space
+ * 0x20000000->0x28000000 128M Binding stack growing up.
+ * 0x28000000->0x30000000 256M Static Space.
+ * 0x30000000->0x31000000 16M Foreign linkage table
+ * 0x38000000->0x40000000 128M Control stack growing down.
+ * 0x40000000->0xD0000000 2304M Dynamic Space.
+ *
+ * Starting at 0xd0ce0000 there is some mapped anon memory. libc
+ * seems to start at 0xd0d40000 and other places. Looks like memory
+ * above 0xd0ffe000 or so is not mapped.
+ */
+
#define READ_ONLY_SPACE_START (SpaceStart_TargetReadOnly)
#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
@@ -200,6 +217,7 @@
#define CONTROL_STACK_START 0x38000000
#define CONTROL_STACK_SIZE (0x07fff000 - 8192)
+#define SIGNAL_STACK_START CONTROL_STACK_END
#define SIGNAL_STACK_SIZE SIGSTKSZ
#define DYNAMIC_0_SPACE_START (SpaceStart_TargetDynamic)
More information about the cmucl-commit
mailing list