428
+ − 1 /* machine description file for SEQUENT machines running DYNIX/ptx
+ − 2 Copyright (C) 1985, 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
+ − 8 the Free Software Foundation; either version 2, or (at your option)
+ − 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 XEmacs; see the file COPYING. If not, write to
+ − 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ − 19 Boston, MA 02111-1307, USA. */
+ − 20
+ − 21 /* Synched up with: FSF 19.31. */
+ − 22
+ − 23 /* The following line tells the configuration script what sort of
+ − 24 operating system this machine is likely to run.
+ − 25 USUAL-OPSYS="ptx" */
+ − 26
+ − 27 #include "intel386.h"
+ − 28
+ − 29 /* Now define a symbol for the cpu type, if your compiler
+ − 30 does not define it automatically:
+ − 31 Ones defined so far include vax, m68000, ns16000, pyramid,
+ − 32 orion, tahoe, APOLLO and many others. */
+ − 33
+ − 34 /* BTW: ptx defines _SEQUENT_, i386 */
+ − 35
+ − 36 /* crt0.c should use the vax-bsd style of entry, with these dummy args. */
+ − 37 /* Already defined. Assume prior definition works for PTX. */
+ − 38 #if 0
+ − 39 #undef CRT0_DUMMIES
+ − 40 #define CRT0_DUMMIES dummy1, dummy2, dummy3,
+ − 41 #endif
+ − 42
+ − 43 /* Data type of load average, as read out of kmem. */
+ − 44
+ − 45 #define LOAD_AVE_TYPE unsigned long
+ − 46
+ − 47 /* Convert that into an integer that is 100 for a load average of 1.0 */
+ − 48
+ − 49 #define FSCALE 1000.0
+ − 50 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
+ − 51
+ − 52 /* Define NO_REMAP if memory segmentation makes it not work well
+ − 53 to change the boundary between the text section and data section
+ − 54 when Emacs is dumped. If you define this, the preloaded Lisp
+ − 55 code will not be sharable; but that's better than failing completely. */
+ − 56 /* On PTX, can't seem to get a valid executable unless NO_REMAP is
+ − 57 defined. This did work in the Sequent patched Emacs 18.57. */
+ − 58 #ifndef NO_REMAP
+ − 59 #define NO_REMAP
+ − 60 #endif
+ − 61 /* #undef NO_REMAP */
+ − 62
+ − 63 /* If a valid PTX executable could be dumped without NO_REMAP defined,
+ − 64 here's a guess at some defines to make it work. */
+ − 65 #ifndef NO_REMAP
+ − 66
+ − 67 /* PTX has getpagesize() but it returns 296. Using the default method of
+ − 68 including getpagesize.h in unexec.c returns 4096 which seems more
+ − 69 reasonable. */
+ − 70 #undef HAVE_GETPAGESIZE
+ − 71
+ − 72 /* Override magic number for a.out header. */
+ − 73 #define EXEC_MAGIC 0411 /* from a.out.h: separated I&D */
+ − 74
+ − 75 #define ADJUST_TEXT_SCNHDR_SIZE
+ − 76 #define ADJUST_TEXTBASE
+ − 77
+ − 78 /* The file sections in the Symmetry a.out must be on 4K boundaries. */
+ − 79 /* #define DATA_SECTION_ALIGNMENT (4096-1) */
+ − 80
+ − 81 #endif /* ifndef NO_REMAP */
+ − 82
+ − 83 /* Avoids a compiler bug. */
+ − 84 #define TAHOE_REGISTER_BUG
+ − 85
+ − 86 /* (short) negative-int doesn't sign-extend correctly. */
+ − 87 #define SHORT_CAST_BUG
+ − 88
+ − 89 /* Cause compilations to be done in parallel in ymakefile. */
+ − 90 #define MAKE_PARALLEL $&
+ − 91
+ − 92 /* Use terminfo library. */
+ − 93 #define LIBS_TERMCAP "-ltermlib"
+ − 94