1195359Simp/*	$NetBSD: cdefs.h,v 1.12 2006/08/27 19:04:30 matt Exp $	*/
2195359Simp
3195359Simp/*
4195359Simp * Copyright (c) 1995 Carnegie-Mellon University.
5195359Simp * All rights reserved.
6195359Simp *
7195359Simp * Author: Chris G. Demetriou
8195359Simp *
9195359Simp * Permission to use, copy, modify and distribute this software and
10195359Simp * its documentation is hereby granted, provided that both the copyright
11195359Simp * notice and this permission notice appear in all copies of the
12195359Simp * software, derivative works or modified versions, and any portions
13195359Simp * thereof, and that both notices appear in supporting documentation.
14195359Simp *
15195359Simp * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
16195359Simp * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
17195359Simp * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
18195359Simp *
19195359Simp * Carnegie Mellon requests users of this software to return to
20195359Simp *
21195359Simp *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
22195359Simp *  School of Computer Science
23195359Simp *  Carnegie Mellon University
24195359Simp *  Pittsburgh PA 15213-3890
25195359Simp *
26195359Simp * any improvements or extensions that they make and grant Carnegie the
27195359Simp * rights to redistribute these changes.
28204557Simp *
29204557Simp * $FreeBSD$
30195359Simp */
31195359Simp
32195359Simp#ifndef _MIPS_CDEFS_H_
33195359Simp#define	_MIPS_CDEFS_H_
34195359Simp
35204557Simp/*
36204557Simp * These are depreciated.  Use __mips_{o32,o64,n32,n64} instead.
37204557Simp */
38195359Simp/*      MIPS Subprogram Interface Model */
39195359Simp#define _MIPS_SIM_ABIX32	4	/* 64 bit safe, ILP32 o32 model */
40195359Simp#define _MIPS_SIM_ABI64		3
41195359Simp#define _MIPS_SIM_NABI32	2	/* 64bit safe, ILP32 n32 model */
42195359Simp#define _MIPS_SIM_ABI32		1
43195359Simp
44195359Simp#define _MIPS_BSD_API_LP32	_MIPS_SIM_ABI32
45195359Simp#define	_MIPS_BSD_API_LP32_64CLEAN	_MIPS_SIM_ABIX32
46195359Simp#define	_MIPS_BSD_API_LP64	_MIPS_SIM_ABI64
47195359Simp
48204557Simp#define _MIPS_BSD_API_O32	_MIPS_SIM_ABI32
49204557Simp#define	_MIPS_BSD_API_O64	_MIPS_SIM_ABIX32
50204557Simp#define	_MIPS_BSD_API_N32	_MIPS_SIM_NABI32
51204557Simp#define	_MIPS_BSD_API_N64	_MIPS_SIM_ABI64
52204557Simp
53204557Simp#define	_MIPS_SIM_NEWABI_P(abi)	((abi) == _MIPS_SIM_NABI32 || \
54204557Simp				 (abi) == _MIPS_SIM_ABI64)
55204557Simp
56204557Simp#define	_MIPS_SIM_LP64_P(abi)	((abi) == _MIPS_SIM_ABIX32 || \
57204557Simp				 (abi) == _MIPS_SIM_ABI64)
58204557Simp
59195359Simp#if defined(__mips_n64)
60204557Simp#define	_MIPS_BSD_API		_MIPS_BSD_API_N64
61195359Simp#elif defined(__mips_n32)
62195359Simp#define	_MIPS_BSD_API		_MIPS_BSD_API_N32
63195359Simp#elif defined(__mips_o64)
64204557Simp#define	_MIPS_BSD_API		_MIPS_BSD_API_O64
65195359Simp#else
66204557Simp#define	_MIPS_BSD_API		_MIPS_BSD_API_O32
67195359Simp#endif
68195359Simp
69204557Simp#define	_MIPS_ISA_MIPS1		1
70204557Simp#define	_MIPS_ISA_MIPS2		2
71204557Simp#define	_MIPS_ISA_MIPS3		3
72204557Simp#define	_MIPS_ISA_MIPS4		4
73204557Simp#define	_MIPS_ISA_MIPS32	5
74204557Simp#define	_MIPS_ISA_MIPS64	6
75204557Simp
76195359Simp#endif /* !_MIPS_CDEFS_H_ */
77