1 /* machine description file for Sun 68000's
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
5 This file is part of GNU Emacs.
7 GNU Emacs is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3, or (at your option)
12 GNU Emacs is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GNU Emacs; see the file COPYING. If not, write to
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA. */
23 /* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
28 Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3;
29 -opsystem=bsd4-2 or -opsystem=sunos4)
31 Whether you should use sun1, sun2 or sun3 depends on the
32 VERSION OF THE OPERATING SYSTEM
33 you have. There are three machine types for different versions of
34 SunOS. All are derived from Berkeley 4.2, meaning that you should
35 use -opsystem=bsd4-2. Emacs 17 has run on all of them. You will
36 need to use sun3 on Sun 2's running SunOS release 3.
38 For SunOS release 4 on a Sun 3, use -machine=sun3 and
39 -opsystem=sunos4. See the file share-lib/SUNBUG for how to solve
40 problems caused by bugs in the "export" version of SunOS 4.
43 /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
44 is the most significant byte. */
46 #define WORDS_BIG_ENDIAN
48 /* Say this machine is a 68000 */
52 /* Use type int rather than a union, to represent Lisp_Object */
56 /* Sun can't write competent compilers */
57 #define COMPILER_REGISTER_BUG
59 /* XINT must explicitly sign-extend */
61 #define EXPLICIT_SIGN_EXTEND
63 /* Data type of load average, as read out of kmem. */
65 #define LOAD_AVE_TYPE long
67 /* Convert that into an integer that is 100 for a load average of 1.0 */
69 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
71 /* Must use the system's termcap. It does special things. */
73 #define LIBS_TERMCAP -ltermcap
75 /* Mask for address bits within a memory segment */
77 #define SEGMENT_MASK (SEGSIZ - 1)
79 /* arch-tag: 58ec9c79-48bd-4d1b-aad1-65a09a6b0d10
80 (do not change this comment) */