Skip to content
Snippets Groups Projects
Commit 6784e794 authored by dtc's avatar dtc
Browse files

Back-out the address map changes for Linux. Only FreeBSD now uses a new

address space.
parent 60f9ca07
No related branches found
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;; ;;;
(ext:file-comment (ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/parms.lisp,v 1.12 1998/08/30 04:56:50 dtc Exp $") "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/parms.lisp,v 1.13 1998/09/17 10:54:24 dtc Exp $")
;;; ;;;
;;; ********************************************************************** ;;; **********************************************************************
;;; ;;;
...@@ -173,14 +173,18 @@ ...@@ -173,14 +173,18 @@
;;; Where to put the different spaces. ;;; Where to put the different spaces.
;;; ;;;
(defparameter target-read-only-space-start #x10000000) #-linux (defparameter target-read-only-space-start #x10000000)
(defparameter target-static-space-start #x28000000) #-linux (defparameter target-static-space-start #x28000000)
(defparameter target-dynamic-space-start #x48000000) #-linux (defparameter target-dynamic-space-start #x48000000)
#+linux (defparameter target-read-only-space-start #x01000000)
#+linux (defparameter target-static-space-start #x05000000)
#+linux (defparameter target-dynamic-space-start #x09000000)
;;; Given that NIL is the first things allocated in static space, we ;;; Given that NIL is the first things allocated in static space, we
;;; know its value at compile time: ;;; know its value at compile time:
;;; ;;;
(defparameter nil-value #x2800000B) #-linux (defparameter nil-value #x2800000B)
#+linux (defparameter nil-value #x0500000B)
;;;; Other random constants. ;;;; Other random constants.
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* This code was written as part of the CMU Common Lisp project at * This code was written as part of the CMU Common Lisp project at
* Carnegie Mellon University, and has been placed in the public domain. * Carnegie Mellon University, and has been placed in the public domain.
* *
* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/x86-validate.h,v 1.8 1998/09/01 13:00:44 dtc Exp $ * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/x86-validate.h,v 1.9 1998/09/17 10:54:23 dtc Exp $
* *
*/ */
...@@ -20,7 +20,9 @@ ...@@ -20,7 +20,9 @@
* 0x40000000->0x48000000 128M Control stack growing down. * 0x40000000->0x48000000 128M Control stack growing down.
* 0x48000000->0xC8000000 2GB Dynamic Space. * 0x48000000->0xC8000000 2GB Dynamic Space.
* 0xE0000000-> 256M C stack - Alien stack. * 0xE0000000-> 256M C stack - Alien stack.
* Linux: *
* Linux: Note that this map has some problems and requires some further
* development so is not implemented below.
* 0x00000000->0x08000000 128M Unused. * 0x00000000->0x08000000 128M Unused.
* 0x08000000->0x10000000 128M C program and memory allocation. * 0x08000000->0x10000000 128M C program and memory allocation.
* 0x10000000->0x20000000 256M Read-Only Space. * 0x10000000->0x20000000 256M Read-Only Space.
...@@ -32,39 +34,50 @@ ...@@ -32,39 +34,50 @@
* *
*/ */
#ifdef __FreeBSD__
#define READ_ONLY_SPACE_START (0x10000000) #define READ_ONLY_SPACE_START (0x10000000)
#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */ #define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
#define STATIC_SPACE_START (0x28000000) #define STATIC_SPACE_START (0x28000000)
#define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */ #define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
#ifdef __FreeBSD__
#define BINDING_STACK_START (0x38000000) #define BINDING_STACK_START (0x38000000)
#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */ #define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
#define CONTROL_STACK_START (0x40000000) #define CONTROL_STACK_START (0x40000000)
#define CONTROL_STACK_SIZE (0x08000000) /* 128MB */ #define CONTROL_STACK_SIZE (0x08000000) /* 128MB */
#define DYNAMIC_0_SPACE_START (0x48000000)
#ifdef GENCGC
#define DYNAMIC_SPACE_SIZE (0x40000000) /* May be up to 2GB */
#else
#define DYNAMIC_SPACE_SIZE (0x04000000) /* 64MB */
#endif #endif
#endif
#ifdef __linux__ #ifdef __linux__
#define BINDING_STACK_START (0x20000000) #define READ_ONLY_SPACE_START (0x01000000)
#define READ_ONLY_SPACE_SIZE (0x02800000) /* 40MB */
#define STATIC_SPACE_START (0x05000000)
#define STATIC_SPACE_SIZE (0x02fff000) /* 48MB - 1 page */
#define BINDING_STACK_START (0x60000000)
#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */ #define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
#define CONTROL_STACK_START (0x38001000)
#define CONTROL_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
#endif
#define CONTROL_STACK_END (CONTROL_STACK_START + CONTROL_STACK_SIZE) #define CONTROL_STACK_START (0x50000000)
#define CONTROL_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
/* Note that GENCGC only uses dynamic_space 0. */ #define DYNAMIC_0_SPACE_START (0x09000000)
#define DYNAMIC_0_SPACE_START (0x48000000)
#ifdef GENCGC #ifdef GENCGC
#ifdef __FreeBSD__ #define DYNAMIC_SPACE_SIZE (0x20000000) /* 512MB */
#define DYNAMIC_SPACE_SIZE (0x40000000) /* May be up to 2GB */
#endif
#ifdef __linux__
#define DYNAMIC_SPACE_SIZE (0x40000000) /* May be up to 1.75GB */
#endif
#else #else
#define DYNAMIC_SPACE_SIZE (0x04000000) /* 64MB */ #define DYNAMIC_SPACE_SIZE (0x04000000) /* 64MB */
#endif #endif
#endif
#define CONTROL_STACK_END (CONTROL_STACK_START + CONTROL_STACK_SIZE)
/* Note that GENCGC only uses dynamic_space 0. */
#define DYNAMIC_1_SPACE_START (DYNAMIC_0_SPACE_START + DYNAMIC_SPACE_SIZE) #define DYNAMIC_1_SPACE_START (DYNAMIC_0_SPACE_START + DYNAMIC_SPACE_SIZE)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment