|
|
1.1 root 1: /* m- file for ISI 68000's
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 1, 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 GNU Emacs; see the file COPYING. If not, write to
18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
19:
20:
21: #define ISI68K
22:
23: /* The following three symbols give information on
24: the size of various data types. */
25:
26: #define SHORTBITS 16 /* Number of bits in a short */
27:
28: #define INTBITS 32 /* Number of bits in an int */
29:
30: #define LONGBITS 32 /* Number of bits in a long */
31:
32: /* 68000 has lowest-numbered byte as most significant */
33:
34: #define BIG_ENDIAN
35:
36: /* Define how to take a char and sign-extend into an int.
37: On machines where char is signed, this is a no-op. */
38:
39: #define SIGN_EXTEND_CHAR(c) (c)
40:
41: /* Say this machine is a 68000 */
42:
43: #define m68000
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: /* Data type of load average, as read out of kmem. */
54:
55: #ifdef BSD4_3
56: #define LOAD_AVE_TYPE long
57: #else
58: #define LOAD_AVE_TYPE double
59: #endif BSD4_3
60:
61: /* Convert that into an integer that is 100 for a load average of 1.0 */
62:
63: #ifdef BSD4_3
64: #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
65: #else
66: #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
67: #endif
68:
69: /* Mask for address bits within a memory segment */
70:
71: #define SEGMENT_MASK 0x1ffff
72:
73: /* use the -20 switch to get the 68020 code */
74: /* #define C_SWITCH_MACHINE -20 */
75:
76: /* Use the version of the library for the 68020
77: because the standard library requires some special hacks in crt0
78: which the GNU crt0 does not have. */
79:
80: #define LIB_STANDARD -lmc
81:
82: /* macros to make unexec work right */
83:
84: #define A_TEXT_OFFSET(HDR) sizeof(HDR)
85: #define A_TEXT_SEEK(HDR) sizeof(HDR)
86:
87: /* A few changes for the newer systems. */
88:
89: #ifdef BSD4_3
90: #define HAVE_ALLOCA
91: /* The following line affects crt0.c. */
92: #undef m68k
93:
94: #undef LIB_STANDARD
95: #define LIB_STANDARD -lmc -lc
96: #define C_DEBUG_SWITCH -20 -O -X23
97: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.