/[cmucl]/src/lisp/x86-validate.h
ViewVC logotype

Contents of /src/lisp/x86-validate.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.23 - (hide annotations)
Thu Jan 13 19:55:01 2005 UTC (9 years, 3 months ago) by fgilham
Branch: MAIN
CVS Tags: snapshot-2005-03, ppc_gencgc_snap_2005-05-14, snapshot-2005-02
Branch point for: ppc_gencgc_branch
Changes since 1.22: +6 -1 lines
File MIME type: text/plain
Add #ifndef _FOO_H_ etc. lines to all .h files.  Moved a few lines in
lisp.c into the correct <foo>-os.h files.
1 ram 1.1 /*
2 dtc 1.7 *
3     * This code was written as part of the CMU Common Lisp project at
4     * Carnegie Mellon University, and has been placed in the public domain.
5     *
6 fgilham 1.23 * $Header: /tiger/var/lib/cvsroots/cmucl/src/lisp/x86-validate.h,v 1.23 2005/01/13 19:55:01 fgilham Exp $
7 dtc 1.7 *
8     */
9    
10 fgilham 1.23 #ifndef _X86_VALIDATE_H_
11     #define _X86_VALIDATE_H_
12    
13 dtc 1.7 /*
14     * Address map:
15     *
16     * FreeBSD:
17 toy 1.19 * 0x00000000->0x0E000000 224M C program and memory allocation.
18     * 0x0E000000->0x10000000 32M Foreign segment.
19     * 0x10000000->0x20000000 256M Read-Only Space.
20     * 0x20000000->0x28000000 128M Reserved for shared libraries.
21     * 0x28000000->0x38000000 256M Static Space.
22     * 0x38000000->0x40000000 128M Binding stack growing up.
23     * 0x40000000->0x48000000 128M Control stack growing down.
24     * 0x48000000->0xB0000000 1664M Dynamic Space.
25     * 0xB0000000->0xB1000000 Foreign Linkage Table
26     * 0xE0000000-> 256M C stack - Alien stack.
27 dtc 1.9 *
28 rtoy 1.21 * OpenBSD:
29 toy 1.19 * 0x00000000->0x0E000000 224M C program and memory allocation.
30     * 0x0E000000->0x10000000 32M Foreign segment.
31     * 0x10000000->0x20000000 256M Read-Only Space.
32     * 0x20000000->0x28000000 128M Binding stack growing up.
33     * 0x28000000->0x38000000 256M Static Space.
34     * 0x38000000->0x40000000 128M Control stack growing down.
35     * 0x40000000->0x48000000 128M Reserved for shared libraries.
36     * 0x48000000->0xB0000000 1664M Dynamic Space.
37     * 0xB0000000->0xB1000000 16M Foreign Linkage Table
38     * 0xE0000000-> 256M C stack - Alien stack.
39 pmai 1.13 *
40 rtoy 1.21 * NetBSD:
41     * 0x00000000->0x0E000000 224M C program and memory allocation.
42     * 0x0E000000->0x10000000 32M Foreign segment.
43     * 0x10000000->0x20000000 256M Read-Only Space.
44     * 0x28000000->0x38000000 256M Static Space.
45     * 0x38000000->0x40000000 128M Binding stack growing up.
46     * 0x40000000->0x48000000 128M Control stack growing down.
47     * 0x48800000->0xB0000000 1656M Dynamic Space.
48     * 0xB0000000->0xB1000000 16M Foreign Linkage Table
49     * 0xE0000000-> 256M C stack - Alien stack.
50     *
51 dtc 1.11 * Linux:
52 toy 1.19 * 0x00000000->0x08000000 128M Unused.
53     * 0x08000000->0x10000000 128M C program and memory allocation.
54     * 0x10000000->0x20000000 256M Read-Only Space.
55     * 0x20000000->0x28000000 128M Binding stack growing up.
56     * 0x28000000->0x38000000 256M Static Space.
57     * 0x38000000->0x40000000 128M Control stack growing down.
58     * 0x40000000->0x48000000 128M Reserved for shared libraries.
59     * 0x58000000->0xBE000000 1632M Dynamic Space.
60     * 0xBE000000->0xBF000000 16M Foreign Linkage Table
61     * 0xBFFF0000->0xC0000000 Unknown Linux mapping
62 dtc 1.7 *
63 toy 1.19 * (Note: 0x58000000 allows us to run on a Linux system on an AMD
64     * x86-64. Hence we have a gap of unused memory starting at
65     * 0x48000000.)
66 dtc 1.7 */
67    
68 dtc 1.9 #ifdef __FreeBSD__
69 dtc 1.7 #define READ_ONLY_SPACE_START (0x10000000)
70     #define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
71    
72 moore 1.15 #define STATIC_SPACE_START (0x28f00000)
73     #define STATIC_SPACE_SIZE (0x0f0ff000) /* 241MB - 1 page */
74 dtc 1.7
75     #define BINDING_STACK_START (0x38000000)
76     #define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
77 dtc 1.9
78 gerd 1.17 #define CONTROL_STACK_START 0x40000000
79     #define CONTROL_STACK_SIZE 0x07fd8000 /* 128MB - SIGSTKSZ */
80     #define SIGNAL_STACK_START 0x47fd8000
81     #define SIGNAL_STACK_SIZE SIGSTKSZ
82 dtc 1.9
83     #define DYNAMIC_0_SPACE_START (0x48000000)
84     #ifdef GENCGC
85     #define DYNAMIC_SPACE_SIZE (0x40000000) /* May be up to 2GB */
86 pmai 1.13 #else
87     #define DYNAMIC_SPACE_SIZE (0x04000000) /* 64MB */
88     #endif
89     #define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000) /* 512MB */
90 moore 1.16 #ifdef LINKAGE_TABLE
91 rtoy 1.22 #define FOREIGN_LINKAGE_SPACE_START ((unsigned long) LinkageSpaceStart)
92 moore 1.16 #define FOREIGN_LINKAGE_SPACE_SIZE (0x100000) /* 1MB */
93 pmai 1.13 #endif
94 moore 1.16 #endif /* __FreeBSD__ */
95 pmai 1.13
96    
97 rtoy 1.20 #ifdef __OpenBSD__
98 pmai 1.13 #define READ_ONLY_SPACE_START (0x10000000)
99     #define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
100    
101     #define STATIC_SPACE_START (0x28000000)
102     #define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
103    
104 rtoy 1.20 #define BINDING_STACK_START (0x38000000)
105 pmai 1.13 #define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
106    
107 rtoy 1.20 #define CONTROL_STACK_START (0x40000000)
108     #define CONTROL_STACK_SIZE (0x07fd8000) /* 128MB - SIGSTKSZ */
109    
110     #define SIGNAL_STACK_START (0x47fd8000)
111     #define SIGNAL_STACK_SIZE SIGSTKSZ
112 pmai 1.13
113     #define DYNAMIC_0_SPACE_START (0x48000000)
114     #ifdef GENCGC
115     #define DYNAMIC_SPACE_SIZE (0x68000000) /* 1.625GB */
116 dtc 1.9 #else
117     #define DYNAMIC_SPACE_SIZE (0x04000000) /* 64MB */
118 dtc 1.7 #endif
119 dtc 1.12 #define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000) /* 512MB */
120 dtc 1.9 #endif
121    
122 rtoy 1.20 #ifdef __NetBSD__
123     #define READ_ONLY_SPACE_START (0x10000000)
124     #define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
125    
126     #define STATIC_SPACE_START (0x28000000)
127     #define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
128    
129     #define BINDING_STACK_START (0x38000000)
130     #define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
131    
132     #define CONTROL_STACK_START (0x40000000)
133     #define CONTROL_STACK_SIZE (0x07fd8000) /* 128MB - SIGSTKSZ */
134    
135     #define SIGNAL_STACK_START (0x47fd8000)
136     #define SIGNAL_STACK_SIZE SIGSTKSZ
137    
138     #define DYNAMIC_0_SPACE_START (0x48800000)
139     #ifdef GENCGC
140 rtoy 1.21 #define DYNAMIC_SPACE_SIZE (0x67800000) /* 1.656GB */
141 rtoy 1.20 #else
142     #define DYNAMIC_SPACE_SIZE (0x04000000) /* 64MB */
143     #endif
144     #define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000) /* 512MB */
145     #ifdef LINKAGE_TABLE
146     #define FOREIGN_LINKAGE_SPACE_START (0xb0000000)
147     #define FOREIGN_LINKAGE_SPACE_SIZE (0x100000) /* 1MB */
148     #endif
149     #endif
150 ram 1.1
151 dtc 1.7 #ifdef __linux__
152 toy 1.18 #define READ_ONLY_SPACE_START (SpaceStart_TargetReadOnly)
153 dtc 1.11 #define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
154 dtc 1.9
155 toy 1.18 #define STATIC_SPACE_START (SpaceStart_TargetStatic)
156 dtc 1.11 #define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
157 dtc 1.9
158 dtc 1.10 #define BINDING_STACK_START (0x20000000)
159 dtc 1.7 #define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
160 dtc 1.9
161 gerd 1.17 #define CONTROL_STACK_START 0x38000000
162     #define CONTROL_STACK_SIZE (0x07fff000 - 8192)
163     #define SIGNAL_STACK_START CONTROL_STACK_END
164     #define SIGNAL_STACK_SIZE 8192
165 ram 1.1
166 toy 1.18 #define DYNAMIC_0_SPACE_START (SpaceStart_TargetDynamic)
167    
168 dtc 1.4 #ifdef GENCGC
169 dtc 1.12 #define DYNAMIC_SPACE_SIZE (0x68000000) /* 1.625GB */
170 dtc 1.3 #else
171 dtc 1.4 #define DYNAMIC_SPACE_SIZE (0x04000000) /* 64MB */
172 dtc 1.3 #endif
173 dtc 1.12 #define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000) /* 512MB */
174 moore 1.16 #ifdef LINKAGE_TABLE
175 toy 1.18 #define FOREIGN_LINKAGE_SPACE_START (LinkageSpaceStart)
176 moore 1.16 #define FOREIGN_LINKAGE_SPACE_SIZE (0x100000) /* 1MB */
177     #endif
178 dtc 1.9 #endif
179 dtc 1.10
180 ram 1.1
181 dtc 1.9 #define CONTROL_STACK_END (CONTROL_STACK_START + CONTROL_STACK_SIZE)
182    
183     /* Note that GENCGC only uses dynamic_space 0. */
184 dtc 1.7 #define DYNAMIC_1_SPACE_START (DYNAMIC_0_SPACE_START + DYNAMIC_SPACE_SIZE)
185 fgilham 1.23
186     #endif /* _X86_VALIDATE_H_ */

  ViewVC Help
Powered by ViewVC 1.1.5