annotate src/m/iris4d.h @ 96717:2fde988b44fb

add further files to SOME_MACHINE_LISP to support NeXTStep port
author David Reitter <david.reitter@gmail.com>
date Wed, 16 Jul 2008 05:28:31 +0000
parents 0e3e875ffade
children f4aea6a6eccb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10774
b4f05f7e5ecd (STACK_DIRECTION): Undef before defining.
Richard M. Stallman <rms@gnu.org>
parents: 10358
diff changeset
1 /* machine description file for Iris-4D machines. Use with s/irix*.h.
94714
7e5b32f86a4c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 92159
diff changeset
2 Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
7e5b32f86a4c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 92159
diff changeset
3 2008 Free Software Foundation, Inc.
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5 This file is part of GNU Emacs.
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6
94714
7e5b32f86a4c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 92159
diff changeset
7 GNU Emacs is free software: you can redistribute it and/or modify
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
94714
7e5b32f86a4c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 92159
diff changeset
9 the Free Software Foundation, either version 3 of the License, or
7e5b32f86a4c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 92159
diff changeset
10 (at your option) any later version.
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 GNU General Public License for more details.
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
94714
7e5b32f86a4c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 92159
diff changeset
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20
78499
49b363c28dce Replace `iff' in comments.
Glenn Morris <rgm@gnu.org>
parents: 78258
diff changeset
21 /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
9095
23f72b18b420 (WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents: 8892
diff changeset
22 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
23
23f72b18b420 (WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents: 8892
diff changeset
24 #define WORDS_BIG_ENDIAN
23f72b18b420 (WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents: 8892
diff changeset
25
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26 /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27 * group of arguments and treat it as an array of the arguments. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29 #define NO_ARG_ARRAY
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 /* Now define a symbol for the cpu type, if your compiler
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32 does not define it automatically:
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 Ones defined so far include vax, m68000, ns16000, pyramid,
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 orion, tahoe, APOLLO and many others */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36 #ifndef mips
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37 #define mips
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 #endif
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 #ifndef IRIS_4D
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 #define IRIS_4D
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 #endif
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
10358
9d27a4627c13 Fix comment.
Karl Heuer <kwzh@gnu.org>
parents: 9258
diff changeset
45 the bit field into an int. In other words, if bit fields
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 are always unsigned.
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47
96602
0e3e875ffade * lisp.h:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96595
diff changeset
48 This flag only matters if you use USE_LISP_UNION_TYPE. */
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
49
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
50 #define EXPLICIT_SIGN_EXTEND
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
51
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52 /* Define CANNOT_DUMP on machines where unexec does not work.
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53 Then the function dump-emacs will not be defined
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
54 and temacs will do (load "loadup") automatically unless told otherwise. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56 #undef CANNOT_DUMP
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
57
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
58 /* Define VIRT_ADDR_VARIES if the virtual addresses of
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
59 pure and impure space as loaded can vary, and even their
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
60 relative order cannot be relied on.
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
61
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62 Otherwise Emacs assumes that text space precedes data space,
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
63 numerically. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
64
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
65 /* #define VIRT_ADDR_VARIES */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
66
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
67 /* Define NO_REMAP if memory segmentation makes it not work well
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
68 to change the boundary between the text section and data section
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69 when Emacs is dumped. If you define this, the preloaded Lisp
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
70 code will not be sharable; but that's better than failing completely. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
71
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72 #define NO_REMAP
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
73
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
74 /* This machine requires completely different unexec code
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
75 which lives in a separate file. Specify the file name. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
76
4605
84556eadaacd (START_FILES, LIB_STANDARD): Don't define if USG5_4.
Richard M. Stallman <rms@gnu.org>
parents: 4602
diff changeset
77 #ifdef USG5_4
84556eadaacd (START_FILES, LIB_STANDARD): Don't define if USG5_4.
Richard M. Stallman <rms@gnu.org>
parents: 4602
diff changeset
78 #undef UNEXEC
26750
b43687ee3f57 (UNEXEC) [USG5_4]: Use unexelf.o instead of
Gerd Moellmann <gerd@gnu.org>
parents: 26679
diff changeset
79 #define UNEXEC unexelf.o
4605
84556eadaacd (START_FILES, LIB_STANDARD): Don't define if USG5_4.
Richard M. Stallman <rms@gnu.org>
parents: 4602
diff changeset
80 #else
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
81 #define UNEXEC unexmips.o
4605
84556eadaacd (START_FILES, LIB_STANDARD): Don't define if USG5_4.
Richard M. Stallman <rms@gnu.org>
parents: 4602
diff changeset
82 #endif
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
83
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
84 #define TEXT_START 0x400000
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
85
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
86 /*
10358
9d27a4627c13 Fix comment.
Karl Heuer <kwzh@gnu.org>
parents: 9258
diff changeset
87 * DATA_SEG_BITS forces extra bits to be or'd in with any pointers which
9d27a4627c13 Fix comment.
Karl Heuer <kwzh@gnu.org>
parents: 9258
diff changeset
88 * were stored in a Lisp_Object (as Emacs uses fewer than 32 bits for
9d27a4627c13 Fix comment.
Karl Heuer <kwzh@gnu.org>
parents: 9258
diff changeset
89 * the value field of a LISP_OBJECT).
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
90 */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
91
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
92 #define DATA_START 0x10000000
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
93 #define DATA_SEG_BITS 0x10000000
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
94
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
95 #undef LIBS_MACHINE
15773
e68aaf2bb5ac (LIBS_MACHINE) [__GNUC__ and ABIN32]: Define as empty.
Richard M. Stallman <rms@gnu.org>
parents: 14256
diff changeset
96 #define LIBS_MACHINE
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
97 #define LIBS_DEBUG
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
98
4605
84556eadaacd (START_FILES, LIB_STANDARD): Don't define if USG5_4.
Richard M. Stallman <rms@gnu.org>
parents: 4602
diff changeset
99 #ifndef USG5_4
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
100 /* Must define START-FILES so that the linker can find /usr/lib/crt0.o. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
101 #define START_FILES pre-crt0.o /usr/lib/crt1.o
3814
52d398035be7 * m/iris4d.h (LIB_STANDARD): Do *not* include -lbsd. We are
Jim Blandy <jimb@redhat.com>
parents: 3782
diff changeset
102 #define LIB_STANDARD -lc /usr/lib/crtn.o
4605
84556eadaacd (START_FILES, LIB_STANDARD): Don't define if USG5_4.
Richard M. Stallman <rms@gnu.org>
parents: 4602
diff changeset
103 #endif
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
104
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
105 /* Use terminfo instead of termcap. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
106
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
107 #define TERMINFO
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
108
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
109 /* Letter to use in finding device name of first pty,
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
110 if system supports pty's. 'a' means it is /dev/ptya0 */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
111
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
112 #undef FIRST_PTY_LETTER
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
113 #define FIRST_PTY_LETTER 'q'
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
114
52296
a6f4d9313060 Use _MIPS_SZLONG, not _LP64.
Dave Love <fx@gnu.org>
parents: 44601
diff changeset
115 #if _MIPS_SZLONG != 64
a6f4d9313060 Use _MIPS_SZLONG, not _LP64.
Dave Love <fx@gnu.org>
parents: 44601
diff changeset
116 /* fixme: should there be 64-bit defiitions? (The ones below aren't
a6f4d9313060 Use _MIPS_SZLONG, not _LP64.
Dave Love <fx@gnu.org>
parents: 44601
diff changeset
117 OK.) */
a6f4d9313060 Use _MIPS_SZLONG, not _LP64.
Dave Love <fx@gnu.org>
parents: 44601
diff changeset
118
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
119 /* The standard definitions of these macros would work ok,
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
120 but these are faster because the constants are short. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
121
13365
2cd15d90fec6 (SHORTBITS, INTBITS, LONGBITS): Deleted; now in config.h
Karl Heuer <kwzh@gnu.org>
parents: 12669
diff changeset
122 #define XUINT(a) (((unsigned)(a) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS)
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
123
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
124 #define XSET(var, type, ptr) \
13365
2cd15d90fec6 (SHORTBITS, INTBITS, LONGBITS): Deleted; now in config.h
Karl Heuer <kwzh@gnu.org>
parents: 12669
diff changeset
125 ((var) = ((int)(type) << VALBITS) + (((unsigned) (ptr) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS))
30506
552c97239a77 (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
Dave Love <fx@gnu.org>
parents: 27489
diff changeset
126 #endif /* _LP64 */
525
44213fc1fbb6 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 456
diff changeset
127
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 52296
diff changeset
128 /* arch-tag: fff5e139-9ae0-465d-afec-837c41ea0aa6
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 52296
diff changeset
129 (do not change this comment) */