Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / legion / src / host / i386.h
CommitLineData
920dae64
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: i386.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 _I386_H_
29#define _I386_H_
30
31#pragma ident "@(#)i386.h 1.1 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_LITTLE_ENDIAN 1
46
47#define FE_INSTN(_instn) \
48 ((_instn>>24) | ((_instn>>8)&0xff00) | \
49 ((_instn & 0xff00)<<8) | ((_instn&0xff)<<24))
50
51
52 /*
53 * define non-ANSI names for signed integer types
54 * - do this explicitly because I can never remember
55 * that int32_t is signed ! so cast it to a sint32_t instead !
56 */
57
58typedef int8_t sint8_t;
59typedef int16_t sint16_t;
60typedef int32_t sint32_t;
61typedef int64_t sint64_t;
62
63typedef enum { false=0, true=!false } bool_t;
64
65typedef uint32_t ieee_fp32_t;
66typedef uint64_t ieee_fp64_t;
67typedef long double ieee_fp128_t;
68
69#ifdef __cplusplus
70}
71#endif
72
73#endif /* _I386_H_ */