Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / openbios / include / arch / sparc64 / types.h
1 /* tag: data types for forth engine
2  *
3  * Copyright (C) 2003-2005 Patrick Mauritz, Stefan Reinauer
4  *
5  * See the file "COPYING" for further information about
6  * the copyright and warranty status of this work.
7  */
8
9 #ifndef __TYPES_H
10 #define __TYPES_H
11
12 #include "mconfig.h"
13
14 #ifdef BOOTSTRAP
15 #include <inttypes.h>
16 #else
17 typedef unsigned char   uint8_t;
18 typedef unsigned short  uint16_t;
19 typedef unsigned int    uint32_t;
20 typedef unsigned long long uint64_t;
21 typedef unsigned long   uintptr_t;
22
23 typedef signed char     int8_t;
24 typedef short           int16_t;
25 typedef int             int32_t;
26 typedef long long       int64_t;
27 typedef long            intptr_t;
28
29 #define PRId32 "d"
30 #define PRIu32 "u"
31 #define PRIx32 "x"
32 #define PRIX32 "X"
33 #define PRId64 "lld"
34 #define PRIu64 "llu"
35 #define PRIx64 "llx"
36 #define PRIX64 "llX"
37 #endif
38
39 /* endianess */
40 #include "autoconf.h"
41
42 /* physical address */
43 typedef uint64_t phys_addr_t;
44
45 #define FMT_plx "%016" PRIx64
46
47 /* cell based types */
48 typedef int64_t     cell;
49 typedef uint64_t    ucell;
50
51 #define FMT_cell    "%" PRId64
52 #define FMT_ucell   "%" PRIu64
53 #define FMT_ucellx  "%016" PRIx64
54 #define FMT_ucellX  "%016" PRIX64
55
56 typedef int64_t         prom_arg_t;
57 typedef uint64_t        prom_uarg_t;
58
59 #define PRIdPROMARG     PRId64
60 #define PRIuPROMARG     PRIu64
61 #define PRIxPROMARG     PRIx64
62 #define FMT_prom_arg    "%" PRIdPROMARG
63 #define FMT_prom_uarg   "%" PRIuPROMARG
64 #define FMT_prom_uargx  "%016" PRIxPROMARG
65
66 #define FMT_elf     "%#llx"
67 #define FMT_sizet   "%lx"
68 #define FMT_aout_ehdr  "%x"
69
70 #ifdef NEED_FAKE_INT128_T
71 typedef struct {
72     uint64_t hi;
73     uint64_t lo;
74 } blob_128_t;
75
76 typedef blob_128_t      dcell;
77 typedef blob_128_t     ducell;
78 #else
79 typedef __int128_t      dcell;
80 typedef __uint128_t    ducell;
81 #endif
82
83 #define bitspercell     (sizeof(cell)<<3)
84 #define bitsperdcell    (sizeof(dcell)<<3)
85
86 #define BITS            64
87
88 #define PAGE_SHIFT      13
89
90 /* size named types */
91
92 typedef unsigned char   u8;
93 typedef unsigned short u16;
94 typedef unsigned int   u32;
95 typedef unsigned long long u64;
96
97 typedef signed char     s8;
98 typedef short           s16;
99 typedef int             s32;
100 typedef long long       s64;
101
102 #endif