annotate src/m/nh4000.h @ 22363:d00f146c3e9d

#include sys/file.h (sys_access): Provide our own implementation which recognizes D_OK. (is_exec): New function. (stat): Use it. (init_environment): Set TMPDIR to an existing directory. Abort if none of the usual places is available. (sys_rename): On Windows 95, choose a temp name that includes the original file's base name and use an explicit loop rather than calling mktemp. Only attempt to unlink the newname if the rename fails, rather than second-guessing whether the old and new names refer to the same file.
author Karl Heuer <kwzh@gnu.org>
date Fri, 05 Jun 1998 16:08:32 +0000
parents ee40177f6c68
children 4be8406ebef9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12249
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
1 /* machine description for Harris NightHawk 88k based machines
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
2 (includes nh4000 and nh5000 machines).
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
3 Copyright (C) 1994 Free Software Foundation, Inc.
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
4
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
5 This file is part of GNU Emacs.
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
6
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
9 the Free Software Foundation; either version 2, or (at your option)
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
10 any later version.
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
11
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
15 GNU General Public License for more details.
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
16
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
18 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: 13374
diff changeset
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 13374
diff changeset
20 Boston, MA 02111-1307, USA. */
12249
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
21
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
22 /* This file manually constructed for Harris Night Hawk 4000 (and 5000)
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
23 * series Motorola 88100 and 88110 based machines.
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
24 */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
25
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
26 /* The following line tells the configuration script what sort of
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
27 operating system this machine is likely to run.
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
28 USUAL-OPSYS="<name of system .h file here, without the s- or .h>" */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
29
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
30 /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
31 * group of arguments and treat it as an array of the arguments. */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
32
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
33 #define NO_ARG_ARRAY
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
34
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
35 /* Define WORD_MACHINE if addresses and such have
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
36 * to be corrected before they can be used as byte counts. */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
37
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
38 /* #define WORD_MACHINE */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
39
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
40 /* Now define a symbol for the cpu type, if your compiler
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
41 does not define it automatically:
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
42 Ones defined so far include vax, m68000, ns16000, pyramid,
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
43 orion, tahoe, APOLLO and many others */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
44
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
45 #ifndef m88000
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
46 #define m88000
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
47 #endif
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
48
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
49 /* Use type int rather than a union, to represent Lisp_Object */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
50 /* This is desirable for most machines. */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
51
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
52 #define NO_UNION_TYPE
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
53
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
54 /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
55 the bit field into an int. In other words, if bit fields
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
56 are always unsigned.
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
57
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
58 If you use NO_UNION_TYPE, this flag does not matter. */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
59
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
60 /* #define EXPLICIT_SIGN_EXTEND */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
61
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
62 /* Data type of load average, as read out of kmem. */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
63
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
64 #define LOAD_AVE_TYPE long
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
65
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
66 /* Convert that into an integer that is 100 for a load average of 1.0 */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
67
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
68 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
69
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
70 /* Define CANNOT_DUMP on machines where unexec does not work.
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
71 Then the function dump-emacs will not be defined
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
72 and temacs will do (load "loadup") automatically unless told otherwise. */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
73
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
74 /* #define CANNOT_DUMP */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
75
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
76 /* Define VIRT_ADDR_VARIES if the virtual addresses of
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
77 pure and impure space as loaded can vary, and even their
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
78 relative order cannot be relied on.
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
79
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
80 Otherwise Emacs assumes that text space precedes data space,
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
81 numerically. */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
82
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
83 /* #define VIRT_ADDR_VARIES */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
84
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
85 /* Define C_ALLOCA if this machine does not support a true alloca
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
86 and the one written in C should be used instead.
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
87 Define HAVE_ALLOCA to say that the system provides a properly
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
88 working alloca function and it should be used.
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
89 Define neither one if an assembler-language alloca
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
90 in the file alloca.s should be used. */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
91
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
92 /* #define C_ALLOCA */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
93 #define HAVE_ALLOCA
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
94
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
95 /* Define NO_REMAP if memory segmentation makes it not work well
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
96 to change the boundary between the text section and data section
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
97 when Emacs is dumped. If you define this, the preloaded Lisp
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
98 code will not be sharable; but that's better than failing completely. */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
99
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
100 #define NO_REMAP
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
101
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
102 /* Some really obscure 4.2-based systems (like Sequent DYNIX)
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
103 * do not support asynchronous I/O (using SIGIO) on sockets,
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
104 * even though it works fine on tty's. If you have one of
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
105 * these systems, define the following, and then use it in
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
106 * config.h (or elsewhere) to decide when (not) to use SIGIO.
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
107 *
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
108 * You'd think this would go in an operating-system description file,
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
109 * but since it only occurs on some, but not all, BSD systems, the
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
110 * reasonable place to select for it is in the machine description
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
111 * file.
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
112 */
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
113
1d1e6d5ea307 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
114 /* #define NO_SOCK_SIGIO */