Commit | Line | Data |
---|---|---|
91bac16a | 1 | /* Machine description file for PFU A-series. |
1311ff03 JB |
2 | Copyright (C) 1988 Free Software Foundation, Inc. |
3 | ||
4 | This file is part of GNU Emacs. | |
5 | ||
6 | GNU Emacs is distributed in the hope that it will be useful, | |
7 | but WITHOUT ANY WARRANTY. No author or distributor | |
8 | accepts responsibility to anyone for the consequences of using it | |
9 | or for whether it serves any particular purpose or works at all, | |
10 | unless he says so in writing. Refer to the GNU Emacs General Public | |
11 | License for full details. | |
12 | ||
13 | Everyone is granted permission to copy, modify and redistribute | |
14 | GNU Emacs, but only under the conditions described in the | |
15 | GNU Emacs General Public License. A copy of this license is | |
16 | supposed to have been given to you along with GNU Emacs so you | |
17 | can know your rights and responsibilities. It should be in a | |
18 | file named COPYING. Among other things, the copyright notice | |
19 | and this notice must be preserved on all copies. */ | |
20 | ||
21 | ||
22 | /* The following three symbols give information on | |
23 | the size of various data types. */ | |
24 | ||
25 | #define SHORTBITS 16 /* Number of bits in a short */ | |
26 | ||
27 | #define INTBITS 32 /* Number of bits in an int */ | |
28 | ||
29 | #define LONGBITS 32 /* Number of bits in a long */ | |
30 | ||
31 | /* 68000 has lowest-numbered byte as most significant */ | |
32 | ||
33 | #define BIG_ENDIAN | |
34 | ||
35 | /* Define how to take a char and sign-extend into an int. | |
36 | On machines where char is signed, this is a no-op. */ | |
37 | ||
38 | #define SIGN_EXTEND_CHAR(c) ((((int) (c)) << 24) >> 24) | |
39 | ||
40 | /* Say this machine is a 68000 */ | |
41 | ||
42 | #define m68000 | |
43 | #define mc68000 1 | |
44 | ||
45 | /* Use type int rather than a union, to represent Lisp_Object */ | |
46 | ||
47 | #define NO_UNION_TYPE | |
48 | ||
49 | /* XINT must explicitly sign-extend */ | |
50 | ||
51 | #define EXPLICIT_SIGN_EXTEND | |
52 | ||
53 | /* The symbol FIONREAD is defined, but the feature does not work. */ | |
54 | ||
55 | #define BROKEN_FIONREAD | |
56 | ||
57 | /* Define NO_REMAP if memory segmentation makes it not work well | |
58 | to change the boundary between the text section and data section | |
59 | when Emacs is dumped. If you define this, the preloaded Lisp | |
60 | code will not be sharable; but that's better than failing completely. */ | |
61 | ||
62 | #define NO_REMAP | |
63 | ||
64 | /* Define TEXT_START_ADDR if your linker don't set execute point to _start. | |
65 | If it needed, temacs always CORE-DUMP. */ | |
66 | ||
67 | #define TEXT_START_ADDR __start | |
68 | ||
69 | /* Define START_FILES if your machine used _start. | |
70 | */ | |
71 | ||
72 | #define START_FILES crt0.o | |
73 | ||
74 | /* Define LD_SWITCH_MACHINE if your linker need it. | |
75 | */ | |
76 | ||
77 | #define LD_SWITCH_MACHINE -e __start | |
78 | ||
79 | #if pfa50 || pfa70 | |
80 | ||
81 | /* On A-50/60/70/80, data space has high order byte use. */ | |
82 | #define VALMASK (((1<<VALBITS) - 1) | 0x60000000) | |
83 | #define XTYPE(a) ((enum Lisp_Type) (((a) >> VALBITS) & 0x1f)) | |
84 | #define XGCTYPE(a) ((enum Lisp_Type) (((a) >> VALBITS) & 0x1f)) | |
85 | ||
86 | #endif /* pfa50, pfa70 */ | |
87 | ||
88 | /* SX/A has alloca in the PW library. */ | |
89 | ||
90 | #define LIB_STANDARD -lPW -lc | |
91 | #define HAVE_ALLOCA | |
92 | ||
93 | /* SX/A uses terminfo and lib/curses */ | |
94 | ||
95 | #define TERMINFO | |
96 | ||
97 | #define HAVE_TIMEVAL | |
98 | #define HAVE_SELECT | |
99 | #define HAVE_PTYS | |
100 | #define HAVE_SOCKETS | |
101 | #define HAVE_RENAME | |
102 | ||
103 | /* SX/A use SystemV style getdents/readdir. */ | |
104 | #define HAVE_CLOSEDIR | |
105 | ||
106 | /* SX/A does not have sigblock(2) */ | |
107 | #define sigblock(mask) (0) | |
108 | ||
109 | #define USG_SYS_TIME | |
110 | #define USE_UTIME | |
111 | ||
112 | #define NO_SIOCTL_H | |
113 | ||
114 | #undef SIGIO |