Add 2009 to copyright years.
[bpt/emacs.git] / src / m / mips.h
CommitLineData
ec558adc 1/* m- file for Mips machines.
eb3d11ef 2 Copyright (C) 1987, 1992, 1999, 2001, 2002, 2003, 2004, 2005, 2006,
76b6f707 3 2007, 2008, 2009 Free Software Foundation, Inc.
20c428fd
JB
4
5This file is part of GNU Emacs.
6
eb3d11ef 7GNU Emacs is free software: you can redistribute it and/or modify
20c428fd 8it under the terms of the GNU General Public License as published by
eb3d11ef
GM
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
20c428fd
JB
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
eb3d11ef 18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20c428fd
JB
19
20
177c0ea7 21/* The following line tells the configuration script what sort of
20c428fd
JB
22 operating system this machine is likely to run.
23 USUAL-OPSYS="note"
24
25NOTE-START
c3b5f109 26This is only used on GNU/Linux.
20c428fd
JB
27NOTE-END */
28
22e9fe24 29/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
74d3f806
KH
30 is the most significant byte. */
31
540c2788 32#if ! (defined (__MIPSEL__) || defined (MIPSEL) || defined (_MIPSEL))
74d3f806 33#define WORDS_BIG_ENDIAN
540c2788 34#endif
74d3f806 35
20c428fd
JB
36/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
37 * group of arguments and treat it as an array of the arguments. */
38
39#define NO_ARG_ARRAY
40
20c428fd
JB
41/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
42 the 24-bit bit field into an int. In other words, if bit fields
43 are always unsigned.
44
6e5cb96f 45 This flag only matters if you use USE_LISP_UNION_TYPE. */
20c428fd
JB
46
47#define EXPLICIT_SIGN_EXTEND
48
20c428fd
JB
49/* Describe layout of the address space in an executing process. */
50
f5e7cf48
RS
51#define TEXT_START 0x00400000
52#define DATA_START 0x10000000
53#define DATA_SEG_BITS 0x10000000
20c428fd 54
20c428fd
JB
55\f
56/* The standard definitions of these macros would work ok,
57 but these are faster because the constants are short. */
58
5964b664 59#define XUINT(a) (((unsigned)(a) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS))
20c428fd 60
ec558adc
JB
61#define XSET(var, type, ptr) \
62 ((var) = \
63 ((int)(type) << VALBITS) \
5964b664 64 + (((unsigned) (ptr) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS)))
ab5796a9
MB
65
66/* arch-tag: 8fd020ee-78a7-4d87-96ce-6129f52f7bee
67 (do not change this comment) */