6c2c71c4045994ae34a7ff6ddc3486f45614c74f
[bpt/emacs.git] / src / m / sparc.h
1 /* machine description file for Sun 4 SPARC.
2
3 Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
4 2009, 2010 Free Software Foundation, Inc.
5
6 This file is part of GNU Emacs.
7
8 GNU Emacs is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
12
13 GNU Emacs is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21 /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
22 is the most significant byte. */
23 #define WORDS_BIG_ENDIAN
24
25 /* __sparc__ is defined by the compiler by default. */
26
27 /* XINT must explicitly sign-extend
28 This flag only matters if you use USE_LISP_UNION_TYPE. */
29 #define EXPLICIT_SIGN_EXTEND
30
31 /* Data type of load average, as read out of kmem. */
32 #define LOAD_AVE_TYPE long
33
34 /* Convert that into an integer that is 100 for a load average of 1.0 */
35 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
36
37 #ifdef __arch64__ /* GCC, 64-bit ABI. */
38
39 #define BITS_PER_LONG 64
40
41 #ifndef _LP64
42 #define _LP64 /* Done on Alpha -- not sure if it should be here. -- fx */
43 #endif
44
45 #endif /* __arch64__ */
46
47 /* arch-tag: 0a6f7882-33fd-4811-9832-7466c51e50f7
48 (do not change this comment) */