3 $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/ppc-validate.h,v 1.9 2006/11/30 02:34:24 rtoy Rel $
5 This code was written as part of the CMU Common Lisp project at
6 Carnegie Mellon University, and has been placed in the public domain.
10 #ifndef _PPC_VALIDATE_H_
11 #define _PPC_VALIDATE_H_
15 * This space start better match the value of
16 * target-foreign-linkage-space-start defined in sparc/parms.lisp!
18 * See the notes there!
21 #ifdef LinkageSpaceStart
22 #define FOREIGN_LINKAGE_SPACE_START (LinkageSpaceStart)
24 #define FOREIGN_LINKAGE_SPACE_START (0x17000000)
27 * This allows for about 510K symbols (assuming each entry is 16 bytes
28 * long). Hope that's enough! Make sure this doesn't overlap the
29 * READ_ONLY_SPACE_START!
31 #define FOREIGN_LINKAGE_SPACE_SIZE (0x00800000) /* 8 MB */
35 * The read-only space must be in low memory because the BA
36 * instruction only has 26-bits to specify the address. When this is
37 * fixed, the read-only space can be moved. (The BA instruction is
38 * used to jump to assembly routines.)
40 #define READ_ONLY_SPACE_START (0x04000000)
41 #define READ_ONLY_SPACE_SIZE (0x07ff8000) /* 128 MB, almost */
43 #define STATIC_SPACE_START (0x10000000)
44 #define STATIC_SPACE_SIZE (0x07ff8000) /* 128 MB, almost */
46 #define CONTROL_STACK_START (0x30000000)
47 #define CONTROL_STACK_SIZE (0x07ff8000) /* 128 MB, almost */
48 #define CONTROL_STACK_END (CONTROL_STACK_START + control_stack_size)
50 #define BINDING_STACK_START (0x38000000)
51 #define BINDING_STACK_SIZE (0x07ff8000) /* 128 MB, almost */
54 #define DYNAMIC_0_SPACE_START (0x40000000)
55 #define DYNAMIC_1_SPACE_START (0x48000000)
56 #define DYNAMIC_SPACE_SIZE (0x07fff000)
58 #define CONTROL_STACK_START (0x57000000)
59 #define CONTROL_STACK_SIZE (0x00ff0000)
61 #define BINDING_STACK_START (0x56000000)
62 #define BINDING_STACK_SIZE (0x00ff0000)
65 #define DEFAULT_DYNAMIC_SPACE_SIZE (0x10000000) /* 256 MB */
66 #define DYNAMIC_0_SPACE_START (0x40000000)
67 /* This isn't used with GENCGC */
68 #define DYNAMIC_1_SPACE_START (0x60000000)
70 /* The maximum dynamic space we can allocate */
72 #define DYNAMIC_SPACE_SIZE (0x1fff0000) /* 512 MB, almost */
75 * For GENCGC, we can use both dynamic spaces (because they are
76 * contiguous) so we get double the heap size.
78 #define DYNAMIC_SPACE_SIZE (0x3fff0000) /* 1GB, almost */
82 #define HOLES {0x04ff8000, 0x06ff8000, 0x0aff8000, 0x1fff8000}
83 #define HOLE_SIZE 0x2000
86 #endif /* _PPC_VALIDATE_H_ */