1/* machine description file for ISI 68000's 2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, 3 2005, 2006, 2007 Free Software Foundation, Inc. 4 5This file is part of GNU Emacs. 6 7GNU Emacs is free software; you can redistribute it and/or modify 8it under the terms of the GNU General Public License as published by 9the Free Software Foundation; either version 2, or (at your option) 10any later version. 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 18along with GNU Emacs; see the file COPYING. If not, write to 19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20Boston, MA 02110-1301, USA. */ 21 22 23/* The following line tells the configuration script what sort of 24 operating system this machine is likely to run. 25 USUAL-OPSYS="note" 26 27NOTE-START 28Use `-opsystem=bsd4-2' or `-opsystem=bsd4-3'. 29NOTE-END */ 30 31#define ISI68K 32 33/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word 34 is the most significant byte. */ 35 36#define WORDS_BIG_ENDIAN 37 38/* Say this machine is a 68000 */ 39 40#define m68000 41 42/* Use type int rather than a union, to represent Lisp_Object */ 43 44#define NO_UNION_TYPE 45 46/* XINT must explicitly sign-extend */ 47 48#define EXPLICIT_SIGN_EXTEND 49 50/* Data type of load average, as read out of kmem. */ 51 52#ifdef BSD4_3 53#define LOAD_AVE_TYPE long 54#else 55#define LOAD_AVE_TYPE double 56#endif BSD4_3 57 58/* Convert that into an integer that is 100 for a load average of 1.0 */ 59 60#ifdef BSD4_3 61#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) 62#else 63#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) 64#endif 65 66/* Mask for address bits within a memory segment */ 67 68#define SEGMENT_MASK 0x1ffff 69 70/* use the -20 switch to get the 68020 code */ 71/* #define C_SWITCH_MACHINE -20 */ 72 73/* Use the version of the library for the 68020 74 because the standard library requires some special hacks in crt0 75 which the GNU crt0 does not have. */ 76 77#define LIB_STANDARD -lmc 78 79/* macros to make unexec work right */ 80 81#define A_TEXT_OFFSET(HDR) sizeof(HDR) 82#define A_TEXT_SEEK(HDR) sizeof(HDR) 83 84/* A few changes for the newer systems. */ 85 86#ifdef BSD4_3 87/* The following line affects crt0.c. */ 88#undef m68k 89 90#undef LIB_STANDARD 91#define LIB_STANDARD -lmc -lc 92#define C_DEBUG_SWITCH -20 -O -X23 93#endif 94 95/* arch-tag: 3bfb5a11-d94e-4372-923b-9f47d0851f42 96 (do not change this comment) */ 97