Mercurial > emacs
annotate src/m/gec63.h @ 13373:c2eff18fae26
Initial revision
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Tue, 31 Oct 1995 16:57:10 +0000 |
parents | 9f1825e7fc8f |
children | 1d4654a97585 |
rev | line source |
---|---|
456 | 1 /* machine description file for gec63 |
2 Copyright (C) 1986 Free Software Foundation, Inc. | |
3 | |
4 This file is part of GNU Emacs. | |
5 | |
6 GNU Emacs is free software; you can redistribute it and/or modify | |
7 it under the terms of the GNU General Public License as published by | |
3699 | 8 the Free Software Foundation; either version 2, or (at your option) |
456 | 9 any later version. |
10 | |
11 GNU Emacs is distributed in the hope that it will be useful, | |
12 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 GNU General Public License for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with GNU Emacs; see the file COPYING. If not, write to | |
18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |
19 | |
20 | |
21 /* The following line tells the configuration script what sort of | |
22 operating system this machine is likely to run. | |
23 USUAL-OPSYS="usg5-2" */ | |
24 | |
25 /* The following three symbols give information on | |
26 the size of various data types. */ | |
27 | |
28 #define SHORTBITS 16 /* Number of bits in a short */ | |
29 | |
30 #define INTBITS 32 /* Number of bits in an int */ | |
31 | |
32 #define LONGBITS 32 /* Number of bits in a long */ | |
33 | |
9095
23f72b18b420
(WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents:
8892
diff
changeset
|
34 /* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word |
23f72b18b420
(WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents:
8892
diff
changeset
|
35 is the most significant byte. */ |
23f72b18b420
(WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents:
8892
diff
changeset
|
36 |
23f72b18b420
(WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents:
8892
diff
changeset
|
37 #define WORDS_BIG_ENDIAN |
23f72b18b420
(WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents:
8892
diff
changeset
|
38 |
456 | 39 /* Say this machine is a 68000 */ |
40 | |
41 #define gec63 | |
42 | |
43 /* Use an int to represent Lisp_Object */ | |
44 | |
45 #define NO_UNION_TYPE | |
46 | |
47 /* GEC63 has alloca in the PW/ux63 library. */ | |
48 #define LIB_STANDARD -lPW -lc | |
49 #define HAVE_ALLOCA | |
50 | |
51 /* Do not define LOAD_AVE_TYPE or LOAD_AVE_CVT | |
52 since there is no /dev/kmem */ | |
53 | |
54 #undef ADDR_CORRECT(x) | |
55 #define NO_ARG_ARRAY | |
56 | |
57 #undef TERMCAP | |
58 #define TERMINFO | |
59 | |
11410 | 60 #define NO_REMAP |
61 | |
62 /* The rest of the file certainly needs updating for Emacs 19.29! */ | |
63 | |
456 | 64 /* Define sizes of portions of a Lisp_Object. */ |
10361
ad238f4988c0
(VALBITS): Adjust for new bit layout.
Karl Heuer <kwzh@gnu.org>
parents:
9257
diff
changeset
|
65 #define VALBITS 24 |
456 | 66 |
67 #define VALAMASK (((1<<VALBITS) - 1)| 0xF0000000L) | |
68 | |
69 #define XTYPE(a) ((enum Lisp_Type) (((a) >> VALBITS) & GCTYPEMASK)) | |
70 #define XSETTYPE(a, b) ((a) = ((a) & VALAMASK) + ((int)(b) << VALBITS)) | |
71 | |
72 #define XPNTR(a) ((a) & VALAMASK) | |
73 | |
74 #define XSET(var, type, ptr) \ | |
75 ((var) = ((int)(type) << VALBITS) + ((int) (ptr) & VALAMASK)) | |
76 | |
77 /* Move some garbage-collector flag bits to different bit positions. */ | |
78 #define ARRAY_MARK_FLAG (1 << 27) |