Add 2010 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,
114f9c96 3 2007, 2008, 2009, 2010 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
6978862d 26This is used on GNU/Linux and netbsd.
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 51#define TEXT_START 0x00400000
34001e41
CY
52
53#ifndef GNU_LINUX
f5e7cf48 54#define DATA_START 0x10000000
34001e41 55#endif
20c428fd 56
20c428fd 57\f
2f63bba8
RS
58#if 0 /* These definitions were advantageous when not using
59 USE_LSB_TAG. With that, they get ignored but cause errors. */
60
61#define DATA_SEG_BITS 0x10000000
62
20c428fd
JB
63/* The standard definitions of these macros would work ok,
64 but these are faster because the constants are short. */
65
5964b664 66#define XUINT(a) (((unsigned)(a) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS))
20c428fd 67
ec558adc
JB
68#define XSET(var, type, ptr) \
69 ((var) = \
70 ((int)(type) << VALBITS) \
5964b664 71 + (((unsigned) (ptr) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS)))
ab5796a9
MB
72
73/* arch-tag: 8fd020ee-78a7-4d87-96ce-6129f52f7bee
74 (do not change this comment) */
2f63bba8
RS
75
76#endif /* 0 */
77