annotate src/m/sequent-ptx.h @ 29499:a293ec8516e0

Update whitespace.el - comment out the :version string, since it seems to have trouble with XEmacs 20.4 (user reported bug). Xemacs doesn't create group if this is present. Bug verified. Not yet determined the problem.
author Rajesh Vaidheeswarran <rv@gnu.org>
date Wed, 07 Jun 2000 19:04:57 +0000
parents 11039e684bd8
children 4be8406ebef9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8969
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 /* machine description file for SEQUENT machines running DYNIX/ptx
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2 Copyright (C) 1985, 1986 Free Software Foundation, Inc.
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4 This file is part of GNU Emacs.
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9 any later version.
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14 GNU General Public License for more details.
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
14186
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 9722
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 9722
diff changeset
19 Boston, MA 02111-1307, USA. */
8969
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
20
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
21
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
22 /* The following line tells the configuration script what sort of
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
23 operating system this machine is likely to run.
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24 USUAL-OPSYS="ptx" */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26 #include "intel386.h"
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28 /* Define how to take a char and sign-extend into an int.
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 On machines where char is signed, this is a no-op. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 /* CHECK THIS */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 #define SIGN_EXTEND_CHAR(c) (c)
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 /* Now define a symbol for the cpu type, if your compiler
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 does not define it automatically:
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35 Ones defined so far include vax, m68000, ns16000, pyramid,
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 orion, tahoe, APOLLO and many others. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38 /* BTW: ptx defines _SEQUENT_, i386 */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40 /* Use type int rather than a union, to represent Lisp_Object */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
41 /* This is desirable for most machines. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43 #define NO_UNION_TYPE
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
44
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
45 /* crt0.c should use the vax-bsd style of entry, with these dummy args. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
46 /* Already defined. Assume prior definition works for PTX. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
47 #if 0
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
48 #undef CRT0_DUMMIES
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
49 #define CRT0_DUMMIES dummy1, dummy2, dummy3,
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
50 #endif
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
51
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
52 /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
53 the 24-bit bit field into an int. In other words, if bit fields
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
54 are always unsigned.
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
55
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
56 If you use NO_UNION_TYPE, this flag does not matter. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
57
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
58 #define EXPLICIT_SIGN_EXTEND
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
59
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
60 /* Data type of load average, as read out of kmem. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
61
15856
11039e684bd8 (LOAD_AVE_TYPE, FSCALE, LOAD_AVE_CVT): Undef them before defining.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
62 #undef LOAD_AVE_TYPE
8969
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
63 #define LOAD_AVE_TYPE unsigned long
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
64
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
65 /* Convert that into an integer that is 100 for a load average of 1.0 */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
66
15856
11039e684bd8 (LOAD_AVE_TYPE, FSCALE, LOAD_AVE_CVT): Undef them before defining.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
67 #undef FSCALE
8969
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68 #define FSCALE 1000.0
15856
11039e684bd8 (LOAD_AVE_TYPE, FSCALE, LOAD_AVE_CVT): Undef them before defining.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
69 #undef LOAD_AVE_CVT
8969
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
70 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
71
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
72 /* Define CANNOT_DUMP on machines where unexec does not work.
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
73 Then the function dump-emacs will not be defined
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
74 and temacs will do (load "loadup") automatically unless told otherwise. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
75
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
76 /* #define CANNOT_DUMP */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
77
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
78 /* Define VIRT_ADDR_VARIES if the virtual addresses of
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
79 pure and impure space as loaded can vary, and even their
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
80 relative order cannot be relied on.
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
81
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
82 Otherwise Emacs assumes that text space precedes data space,
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
83 numerically. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
84
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
85 /* #define VIRT_ADDR_VARIES */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
86
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
87 /* Define C_ALLOCA if this machine does not support a true alloca
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
88 and the one written in C should be used instead.
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
89 Define HAVE_ALLOCA to say that the system provides a properly
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
90 working alloca function and it should be used.
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
91 Define neither one if an assembler-language alloca
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
92 in the file alloca.s should be used. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
93
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
94 #ifndef __GNUC__
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
95 #define C_ALLOCA
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
96 #undef HAVE_ALLOCA
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
97 #endif
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
98
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
99 /* Define NO_REMAP if memory segmentation makes it not work well
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
100 to change the boundary between the text section and data section
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
101 when Emacs is dumped. If you define this, the preloaded Lisp
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
102 code will not be sharable; but that's better than failing completely. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
103 /* On PTX, can't seem to get a valid executable unless NO_REMAP is
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
104 defined. This did work in the Sequent patched Emacs 18.57. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
105 #ifndef NO_REMAP
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
106 #define NO_REMAP
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
107 #endif
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
108 /* #undef NO_REMAP */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
109
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
110 /* If a valid PTX executable could be dumped without NO_REMAP defined,
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
111 here's a guess at some defines to make it work. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
112 #ifndef NO_REMAP
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
113
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
114 /* PTX has getpagesize() but it returns 296. Using the default method of
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
115 including getpagesize.h in unexec.c returns 4096 which seems more
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
116 reasonable. */
9722
24f70eafc5ef (HAVE_GETPAGESIZE): Explicitly #undef.
Richard M. Stallman <rms@gnu.org>
parents: 8969
diff changeset
117 #undef HAVE_GETPAGESIZE
8969
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
118
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
119 /* Override magic number for a.out header. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
120 #define EXEC_MAGIC 0411 /* from a.out.h: separated I&D */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
121
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
122 #define ADJUST_TEXT_SCNHDR_SIZE
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
123 #define ADJUST_TEXTBASE
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
124
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
125 /* The file sections in the Symmetry a.out must be on 4K boundaries. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
126 /* #define DATA_SECTION_ALIGNMENT (4096-1) */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
127
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
128 #endif /* ifndef NO_REMAP */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
129
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
130 /* Avoids a compiler bug. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
131 #define TAHOE_REGISTER_BUG
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
132
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
133 /* (short) negative-int doesn't sign-extend correctly. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
134 #define SHORT_CAST_BUG
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
135
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
136 /* Cause compilations to be done in parallel in ymakefile. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
137 #define MAKE_PARALLEL $&
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
138
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
139 /* Use terminfo library. */
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
140 #define LIBS_TERMCAP -ltermlib
d62a9fd47cb2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
141