Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / legion / src / host / sparcv9.h
CommitLineData
920dae64
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: sparcv9.h
5* Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
6* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
7*
8* The above named program is free software; you can redistribute it and/or
9* modify it under the terms of the GNU General Public
10* License version 2 as published by the Free Software Foundation.
11*
12* The above named program is distributed in the hope that it will be
13* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
14* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15* General Public License for more details.
16*
17* You should have received a copy of the GNU General Public
18* License along with this work; if not, write to the Free Software
19* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
20*
21* ========== Copyright Header End ============================================
22*/
23/*
24 * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
25 * Use is subject to license terms.
26 */
27
28#ifndef _SPARCV9_H_
29#define _SPARCV9_H_
30
31#pragma ident "@(#)sparcv9.h 1.8 07/01/09 SMI"
32
33#ifdef __cplusplus
34extern "C" {
35#endif
36
37#include <sys/types.h>
38
39#if HOST_OS_SOLARIS9 /* { */
40#include <sys/int_types.h>
41#elif HOST_OS_LINUX /* } { */
42#include <stdint.h>
43#endif /* } */
44
45#define HOST_CPU_BIG_ENDIAN 1
46
47#define FE_INSTN(_instn) (_instn)
48
49 /*
50 * define non-ANSI names for signed integer types
51 * - do this explicitly because I can never remember
52 * that int32_t is signed ! so cast it to a sint32_t instead !
53 */
54
55typedef int8_t sint8_t;
56typedef int16_t sint16_t;
57typedef int32_t sint32_t;
58typedef int64_t sint64_t;
59
60typedef enum { false=0, true=!false } bool_t;
61
62typedef uint32_t ieee_fp32_t;
63typedef uint64_t ieee_fp64_t;
64typedef long double ieee_fp128_t;
65
66#ifdef __cplusplus
67}
68#endif
69
70#endif /* _SPARCV9_H_ */