0.6.7.15: control_stack stuff redone as Lisp/C constants
[sbcl.git] / src / runtime / x86-validate.h
1 /*
2  * This software is part of the SBCL system. See the README file for
3  * more information.
4  *
5  * This software is derived from the CMU CL system, which was
6  * written at Carnegie Mellon University and released into the
7  * public domain. The software is in the public domain and is
8  * provided with absolutely no warranty. See the COPYING and CREDITS
9  * files for more information.
10  */
11
12 /*
13  * $Header$
14  */
15 \f
16 #if defined(__FreeBSD__) || defined(__OpenBSD__)
17 #define READ_ONLY_SPACE_SIZE    (0x0ffff000) /* 256MB - 1 page */
18
19 #if defined __FreeBSD__
20 #define STATIC_SPACE_SIZE       (0x07fff000) /* 128M - 1 page */
21 #elif defined __OpenBSD__
22 #define STATIC_SPACE_SIZE       (0x0ffff000) /* 256M - 1 page */
23 #else
24 #error unsupported BSD variant
25 #endif
26
27 #define BINDING_STACK_START     (0x38000000)
28 #define BINDING_STACK_SIZE      (0x07fff000) /* 128MB - 1 page */
29
30 #define DYNAMIC_SPACE_SIZE      (0x40000000) /* may be up to 2GB */
31 #endif
32
33 #ifdef __linux__
34 #define READ_ONLY_SPACE_SIZE    (0x02800000) /* 40MB */
35
36 #define STATIC_SPACE_SIZE       (0x02fff000) /* 48MB - 1 page */
37
38 #define BINDING_STACK_START     (0x60000000)
39 #define BINDING_STACK_SIZE      (0x07fff000) /* 128MB - 1 page */
40
41 #define DYNAMIC_SPACE_SIZE      (0x20000000) /* 512MB */
42 #endif
43
44 #define CONTROL_STACK_SIZE      (CONTROL_STACK_END - CONTROL_STACK_START)