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.
8 #ifndef _X86_VALIDATE_FREEBSD_H_
9 #define _X86_VALIDATE_FREEBSD_H_
12 * Also look in compiler/x86/parms.lisp for some of the parameters.
17 * 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.
29 #define READ_ONLY_SPACE_START (0x10000000)
30 #define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
32 #define STATIC_SPACE_START (0x28f00000)
33 #define STATIC_SPACE_SIZE (0x0f0ff000) /* 241MB - 1 page */
35 #define BINDING_STACK_START (0x38000000)
36 #define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
38 #define CONTROL_STACK_START 0x40000000
39 #define CONTROL_STACK_SIZE 0x07fd8000 /* 128MB - SIGSTKSZ */
40 #define SIGNAL_STACK_START 0x47fd8000
41 #define SIGNAL_STACK_SIZE SIGSTKSZ
43 #define DYNAMIC_0_SPACE_START (0x48000000UL)
46 #define DYNAMIC_SPACE_SIZE (0x78000000UL) /* May be up to 1.7 GB */
48 #define DYNAMIC_SPACE_SIZE (0x04000000UL) /* 64MB */
51 #define DEFAULT_DYNAMIC_SPACE_SIZE (0x20000000UL) /* 512MB */
54 #define FOREIGN_LINKAGE_SPACE_START ((unsigned long) LinkageSpaceStart)
55 #define FOREIGN_LINKAGE_SPACE_SIZE (0x100000UL) /* 1MB */