[cmucl-commit] [git] CMU Common Lisp branch master updated. snapshot-2012-09-1-g000a0be

Raymond Toy rtoy at common-lisp.net
Mon Sep 3 15:09:03 UTC 2012


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMU Common Lisp".

The branch, master has been updated
       via  000a0be020acb860f0bf06580bfc2557fd803d00 (commit)
      from  4fd2baf278cc7d8d732d40a3c587bff02a3c1330 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 000a0be020acb860f0bf06580bfc2557fd803d00
Author: Raymond Toy <toy.raymond at gmail.com>
Date:   Mon Sep 3 08:08:54 2012 -0700

    Finish splitting out x86-validate into separate OS versions.
    
     * Didn't finish the solaris split in previous commit, so finish it
       now.
     * Split out FreeBSD, NetBSD, and OpenBSD into new files.

diff --git a/src/lisp/x86-validate-freebsd.h b/src/lisp/x86-validate-freebsd.h
new file mode 100644
index 0000000..3c97cb0
--- /dev/null
+++ b/src/lisp/x86-validate-freebsd.h
@@ -0,0 +1,58 @@
+/*
+ *
+ * This code was written as part of the CMU Common Lisp project at
+ * Carnegie Mellon University, and has been placed in the public domain.
+ *
+ */
+
+#ifndef _X86_VALIDATE_FREEBSD_H_
+#define _X86_VALIDATE_FREEBSD_H_
+
+/*
+ * Also look in compiler/x86/parms.lisp for some of the parameters.
+ *
+ * Address map:
+ *
+ *  FreeBSD:
+ *	0x00000000->0x0E000000  224M C program and memory allocation.
+ *	0x0E000000->0x10000000   32M Foreign segment.
+ *	0x10000000->0x20000000  256M Read-Only Space.
+ *	0x20000000->0x28000000  128M Reserved for shared libraries.
+ *	0x28000000->0x38000000  256M Static Space.
+ *	0x38000000->0x40000000  128M Binding stack growing up.
+ *	0x40000000->0x48000000  128M Control stack growing down.
+ *	0x48000000->0xB0000000 1664M Dynamic Space.
+ *      0xB0000000->0xB1000000       Foreign Linkage Table
+ *	0xE0000000->            256M C stack - Alien stack.
+ */
+
+#define READ_ONLY_SPACE_START   (0x10000000)
+#define READ_ONLY_SPACE_SIZE    (0x0ffff000)	/* 256MB - 1 page */
+
+#define STATIC_SPACE_START	(0x28f00000)
+#define STATIC_SPACE_SIZE	(0x0f0ff000)	/* 241MB - 1 page */
+
+#define BINDING_STACK_START	(0x38000000)
+#define BINDING_STACK_SIZE	(0x07fff000)	/* 128MB - 1 page */
+
+#define CONTROL_STACK_START	0x40000000
+#define CONTROL_STACK_SIZE	0x07fd8000	/* 128MB - SIGSTKSZ */
+#define SIGNAL_STACK_START	0x47fd8000
+#define SIGNAL_STACK_SIZE	SIGSTKSZ
+
+#define DYNAMIC_0_SPACE_START	(0x48000000UL)
+
+#ifdef GENCGC
+#define DYNAMIC_SPACE_SIZE	(0x78000000UL)	/* May be up to 1.7 GB */
+#else
+#define DYNAMIC_SPACE_SIZE	(0x04000000UL)	/* 64MB */
+#endif
+
+#define DEFAULT_DYNAMIC_SPACE_SIZE	(0x20000000UL)	/* 512MB */
+
+#ifdef LINKAGE_TABLE
+#define FOREIGN_LINKAGE_SPACE_START ((unsigned long) LinkageSpaceStart)
+#define FOREIGN_LINKAGE_SPACE_SIZE (0x100000UL)	/* 1MB */
+#endif
+
+#endif
diff --git a/src/lisp/x86-validate-netbsd.h b/src/lisp/x86-validate-netbsd.h
new file mode 100644
index 0000000..a175f02
--- /dev/null
+++ b/src/lisp/x86-validate-netbsd.h
@@ -0,0 +1,59 @@
+/*
+ *
+ * This code was written as part of the CMU Common Lisp project at
+ * Carnegie Mellon University, and has been placed in the public domain.
+ *
+ */
+
+#ifndef _X86_VALIDATE_NETBSD_H_
+#define _X86_VALIDATE_NETBSD_H_
+
+/*
+ * Also look in compiler/x86/parms.lisp for some of the parameters.
+ *
+ * Address map:
+ *  NetBSD:
+ *	0x00000000->0x0E000000  224M C program and memory allocation.
+ *	0x0E000000->0x10000000   32M Foreign segment.
+ *	0x10000000->0x20000000  256M Read-Only Space.
+ *	0x28000000->0x38000000  256M Static Space.
+ *	0x38000000->0x40000000  128M Binding stack growing up.
+ *	0x40000000->0x48000000  128M Control stack growing down.
+ *	0x48800000->0xB0000000 1656M Dynamic Space.
+ *      0xB0000000->0xB1000000   16M Foreign Linkage Table
+ *	0xE0000000->            256M C stack - Alien stack.
+ *
+ */
+
+#define READ_ONLY_SPACE_START   (SpaceStart_TargetReadOnly)
+#define READ_ONLY_SPACE_SIZE    (0x0ffff000)	/* 256MB - 1 page */
+
+#define STATIC_SPACE_START	(SpaceStart_TargetStatic)
+#define STATIC_SPACE_SIZE	(0x0ffff000)	/* 256MB - 1 page */
+
+#define BINDING_STACK_START	(0x38000000)
+#define BINDING_STACK_SIZE	(0x07fff000)	/* 128MB - 1 page */
+
+#define CONTROL_STACK_START	(0x40000000)
+
+#define CONTROL_STACK_SIZE	(0x07fd8000)	/* 128MB - SIGSTKSZ */
+
+#define SIGNAL_STACK_START	(0x47fd8000)
+#define SIGNAL_STACK_SIZE	SIGSTKSZ
+
+#define DYNAMIC_0_SPACE_START	(SpaceStart_TargetDynamic)
+
+#ifdef GENCGC
+#define DYNAMIC_SPACE_SIZE	(0x67800000U)	/* 1.656GB */
+#else
+#define DYNAMIC_SPACE_SIZE	(0x04000000U)	/* 64MB */
+#endif
+
+#define DEFAULT_DYNAMIC_SPACE_SIZE	(0x20000000U)	/* 512MB */
+
+#ifdef LINKAGE_TABLE
+#define FOREIGN_LINKAGE_SPACE_START (LinkageSpaceStart)
+#define FOREIGN_LINKAGE_SPACE_SIZE (0x100000)	/* 1MB */
+#endif
+
+#endif
diff --git a/src/lisp/x86-validate-openbsd.h b/src/lisp/x86-validate-openbsd.h
new file mode 100644
index 0000000..2aafbf0
--- /dev/null
+++ b/src/lisp/x86-validate-openbsd.h
@@ -0,0 +1,55 @@
+/*
+ *
+ * This code was written as part of the CMU Common Lisp project at
+ * Carnegie Mellon University, and has been placed in the public domain.
+ *
+ */
+
+#ifndef _X86_VALIDATE_H_
+#define _X86_VALIDATE_H_
+
+/*
+ * Also look in compiler/x86/parms.lisp for some of the parameters.
+ *
+ * Address map:
+ *
+ *  OpenBSD:
+ *	0x00000000->0x0E000000  224M C program and memory allocation.
+ *	0x0E000000->0x10000000   32M Foreign segment.
+ *	0x10000000->0x20000000  256M Read-Only Space.
+ *	0x20000000->0x28000000  128M Binding stack growing up.
+ *	0x28000000->0x38000000  256M Static Space.
+ *	0x38000000->0x40000000  128M Control stack growing down.
+ *	0x40000000->0x48000000  128M Reserved for shared libraries.
+ *	0x48000000->0xB0000000 1664M Dynamic Space.
+ *      0xB0000000->0xB1000000   16M Foreign Linkage Table
+ *	0xE0000000->            256M C stack - Alien stack.
+ *
+ */
+
+#define READ_ONLY_SPACE_START   (0x10000000)
+#define READ_ONLY_SPACE_SIZE    (0x0ffff000)	/* 256MB - 1 page */
+
+#define STATIC_SPACE_START	(0x28000000)
+#define STATIC_SPACE_SIZE	(0x0ffff000)	/* 256MB - 1 page */
+
+#define BINDING_STACK_START	(0x38000000)
+#define BINDING_STACK_SIZE	(0x07fff000)	/* 128MB - 1 page */
+
+#define CONTROL_STACK_START	(0x40000000)
+#define CONTROL_STACK_SIZE	(0x07fd8000)	/* 128MB - SIGSTKSZ */
+
+#define SIGNAL_STACK_START	(0x47fd8000)
+#define SIGNAL_STACK_SIZE	SIGSTKSZ
+
+#define DYNAMIC_0_SPACE_START	(0x48000000)
+
+#ifdef GENCGC
+#define DYNAMIC_SPACE_SIZE	(0x68000000)	/* 1.625GB */
+#else
+#define DYNAMIC_SPACE_SIZE	(0x04000000)	/* 64MB */
+#endif
+
+#define DEFAULT_DYNAMIC_SPACE_SIZE	(0x20000000)	/* 512MB */
+
+#endif
diff --git a/src/lisp/x86-validate.h b/src/lisp/x86-validate.h
index 8db3bcb..b9b5677 100644
--- a/src/lisp/x86-validate.h
+++ b/src/lisp/x86-validate.h
@@ -16,193 +16,16 @@
 #include "x86-validate-darwin.h"
 #endif
 
-/*
- * Also look in compiler/x86/parms.lisp for some of the parameters.
- *
- * Address map:
- *
- *  FreeBSD:
- *	0x00000000->0x0E000000  224M C program and memory allocation.
- *	0x0E000000->0x10000000   32M Foreign segment.
- *	0x10000000->0x20000000  256M Read-Only Space.
- *	0x20000000->0x28000000  128M Reserved for shared libraries.
- *	0x28000000->0x38000000  256M Static Space.
- *	0x38000000->0x40000000  128M Binding stack growing up.
- *	0x40000000->0x48000000  128M Control stack growing down.
- *	0x48000000->0xB0000000 1664M Dynamic Space.
- *      0xB0000000->0xB1000000       Foreign Linkage Table
- *	0xE0000000->            256M C stack - Alien stack.
- *
- *  OpenBSD:
- *	0x00000000->0x0E000000  224M C program and memory allocation.
- *	0x0E000000->0x10000000   32M Foreign segment.
- *	0x10000000->0x20000000  256M Read-Only Space.
- *	0x20000000->0x28000000  128M Binding stack growing up.
- *	0x28000000->0x38000000  256M Static Space.
- *	0x38000000->0x40000000  128M Control stack growing down.
- *	0x40000000->0x48000000  128M Reserved for shared libraries.
- *	0x48000000->0xB0000000 1664M Dynamic Space.
- *      0xB0000000->0xB1000000   16M Foreign Linkage Table
- *	0xE0000000->            256M C stack - Alien stack.
- *
- *  NetBSD:
- *	0x00000000->0x0E000000  224M C program and memory allocation.
- *	0x0E000000->0x10000000   32M Foreign segment.
- *	0x10000000->0x20000000  256M Read-Only Space.
- *	0x28000000->0x38000000  256M Static Space.
- *	0x38000000->0x40000000  128M Binding stack growing up.
- *	0x40000000->0x48000000  128M Control stack growing down.
- *	0x48800000->0xB0000000 1656M Dynamic Space.
- *      0xB0000000->0xB1000000   16M Foreign Linkage Table
- *	0xE0000000->            256M C stack - Alien stack.
- *
- *  Linux:
- *	0x00000000->0x08000000  128M Unused.
- *	0x08000000->0x10000000  128M C program and memory allocation.
- *	0x10000000->0x20000000  256M Read-Only Space.
- *	0x20000000->0x28000000  128M Binding stack growing up.
- *	0x28000000->0x38000000  256M Static Space.
- *	0x38000000->0x40000000  128M Control stack growing down.
- *	0x40000000->0x48000000  128M Reserved for shared libraries.
- *      0x58000000->0x58100000   16M Foreign Linkage Table
- *	0x58100000->0xBE000000 1631M Dynamic Space.
- *      0xBFFF0000->0xC0000000       Unknown Linux mapping
- *
- *      (Note: 0x58000000 allows us to run on a Linux system on an AMD
- *      x86-64.  Hence we have a gap of unused memory starting at
- *      0x48000000.)
- */
-
-#ifdef __FreeBSD__
-#define READ_ONLY_SPACE_START   (0x10000000)
-#define READ_ONLY_SPACE_SIZE    (0x0ffff000)	/* 256MB - 1 page */
-
-#define STATIC_SPACE_START	(0x28f00000)
-#define STATIC_SPACE_SIZE	(0x0f0ff000)	/* 241MB - 1 page */
-
-#define BINDING_STACK_START	(0x38000000)
-#define BINDING_STACK_SIZE	(0x07fff000)	/* 128MB - 1 page */
-
-#define CONTROL_STACK_START	0x40000000
-#define CONTROL_STACK_SIZE	0x07fd8000	/* 128MB - SIGSTKSZ */
-#define SIGNAL_STACK_START	0x47fd8000
-#define SIGNAL_STACK_SIZE	SIGSTKSZ
-
-#define DYNAMIC_0_SPACE_START	(0x48000000UL)
-#ifdef GENCGC
-#define DYNAMIC_SPACE_SIZE	(0x78000000UL)	/* May be up to 1.7 GB */
-#else
-#define DYNAMIC_SPACE_SIZE	(0x04000000UL)	/* 64MB */
-#endif
-#define DEFAULT_DYNAMIC_SPACE_SIZE	(0x20000000UL)	/* 512MB */
-#ifdef LINKAGE_TABLE
-#define FOREIGN_LINKAGE_SPACE_START ((unsigned long) LinkageSpaceStart)
-#define FOREIGN_LINKAGE_SPACE_SIZE (0x100000UL)	/* 1MB */
-#endif
-#endif /* __FreeBSD__ */
-
-
-#ifdef __OpenBSD__
-#define READ_ONLY_SPACE_START   (0x10000000)
-#define READ_ONLY_SPACE_SIZE    (0x0ffff000)	/* 256MB - 1 page */
-
-#define STATIC_SPACE_START	(0x28000000)
-#define STATIC_SPACE_SIZE	(0x0ffff000)	/* 256MB - 1 page */
-
-#define BINDING_STACK_START	(0x38000000)
-#define BINDING_STACK_SIZE	(0x07fff000)	/* 128MB - 1 page */
-
-#define CONTROL_STACK_START	(0x40000000)
-#define CONTROL_STACK_SIZE	(0x07fd8000)	/* 128MB - SIGSTKSZ */
-
-#define SIGNAL_STACK_START	(0x47fd8000)
-#define SIGNAL_STACK_SIZE	SIGSTKSZ
-
-#define DYNAMIC_0_SPACE_START	(0x48000000)
-#ifdef GENCGC
-#define DYNAMIC_SPACE_SIZE	(0x68000000)	/* 1.625GB */
-#else
-#define DYNAMIC_SPACE_SIZE	(0x04000000)	/* 64MB */
-#endif
-#define DEFAULT_DYNAMIC_SPACE_SIZE	(0x20000000)	/* 512MB */
+#if defined(SOLARIS)
+#include "x86-validate-solaris.h"
 #endif
 
 #if defined(__NetBSD__)
-#define READ_ONLY_SPACE_START   (SpaceStart_TargetReadOnly)
-#define READ_ONLY_SPACE_SIZE    (0x0ffff000)	/* 256MB - 1 page */
-
-#define STATIC_SPACE_START	(SpaceStart_TargetStatic)
-#define STATIC_SPACE_SIZE	(0x0ffff000)	/* 256MB - 1 page */
-
-#define BINDING_STACK_START	(0x38000000)
-#define BINDING_STACK_SIZE	(0x07fff000)	/* 128MB - 1 page */
-
-#define CONTROL_STACK_START	(0x40000000)
-
-#define CONTROL_STACK_SIZE	(0x07fd8000)	/* 128MB - SIGSTKSZ */
-
-#define SIGNAL_STACK_START	(0x47fd8000)
-#define SIGNAL_STACK_SIZE	SIGSTKSZ
-
-#define DYNAMIC_0_SPACE_START	(SpaceStart_TargetDynamic)
-#ifdef GENCGC
-#define DYNAMIC_SPACE_SIZE	(0x67800000U)	/* 1.656GB */
-#else
-#define DYNAMIC_SPACE_SIZE	(0x04000000U)	/* 64MB */
-#endif
-
-#define DEFAULT_DYNAMIC_SPACE_SIZE	(0x20000000U)	/* 512MB */
-#ifdef LINKAGE_TABLE
-#define FOREIGN_LINKAGE_SPACE_START (LinkageSpaceStart)
-#define FOREIGN_LINKAGE_SPACE_SIZE (0x100000)	/* 1MB */
+#include "x86-validate-netbsd.h"
 #endif
 
-#endif /* __NetBSD__ || DARWIN */
-
-#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 */
-
-#define STATIC_SPACE_START	(SpaceStart_TargetStatic)
-#define STATIC_SPACE_SIZE	(0x0ffff000)	/* 256MB - 1 page */
-
-#define BINDING_STACK_START	(0x20000000)
-#define BINDING_STACK_SIZE	(0x07fff000)	/* 128MB - 1 page */
-
-#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)
-
-#ifdef GENCGC
-#define DYNAMIC_SPACE_SIZE	(0x90000000)	/* 2.304GB */
-#else
-#define DYNAMIC_SPACE_SIZE	(0x04000000)	/* 64MB */
-#endif
-#define DEFAULT_DYNAMIC_SPACE_SIZE	(0x20000000)	/* 512MB */
-#ifdef LINKAGE_TABLE
-#define FOREIGN_LINKAGE_SPACE_START (LinkageSpaceStart)
-#define FOREIGN_LINKAGE_SPACE_SIZE (0x100000)	/* 1MB */
-#endif
+#if defined(__FreeBSD__)
+#include "x86-validate-freebsd.h"
 #endif
 
 #define CONTROL_STACK_END	(CONTROL_STACK_START + control_stack_size)

-----------------------------------------------------------------------

Summary of changes:
 src/lisp/x86-validate-freebsd.h                    |   58 ++++++
 ...x86-validate-darwin.h => x86-validate-netbsd.h} |   37 ++--
 src/lisp/x86-validate-openbsd.h                    |   55 ++++++
 src/lisp/x86-validate.h                            |  187 +-------------------
 4 files changed, 138 insertions(+), 199 deletions(-)
 create mode 100644 src/lisp/x86-validate-freebsd.h
 copy src/lisp/{x86-validate-darwin.h => x86-validate-netbsd.h} (57%)
 create mode 100644 src/lisp/x86-validate-openbsd.h


hooks/post-receive
-- 
CMU Common Lisp


More information about the cmucl-commit mailing list