Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / openbios / include / arch / ppc / 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 #if defined(__powerpc64__)
44 typedef uint64_t phys_addr_t;
45 #define FMT_plx "%016" PRIx64
46 #else
47 typedef uint32_t phys_addr_t;
48 #define FMT_plx "%08" PRIx32
49 #endif
50
51 /* cell based types */
52
53 typedef int32_t         cell;
54 typedef uint32_t        ucell;
55 typedef int64_t         dcell;
56 typedef uint64_t        ducell;
57
58 #define FMT_cell    "%" PRId32
59 #define FMT_ucell   "%" PRIu32
60 #define FMT_ucellx  "%08" PRIx32
61 #define FMT_ucellX  "%08" PRIX32
62
63 typedef int32_t         prom_arg_t;
64 typedef uint32_t        prom_uarg_t;
65
66 #define PRIdPROMARG     PRId32
67 #define PRIuPROMARG     PRIu32
68 #define PRIxPROMARG     PRIx32
69 #define FMT_prom_arg    "%" PRIdPROMARG
70 #define FMT_prom_uarg   "%" PRIuPROMARG
71 #define FMT_prom_uargx  "%08" PRIxPROMARG
72
73 #define FMT_elf     "%#x"
74 #define FMT_sizet   "%lx"
75 #define FMT_aout_ehdr  "%lx"
76
77 #define bitspercell     (sizeof(cell)<<3)
78 #define bitsperdcell    (sizeof(dcell)<<3)
79
80 #define BITS            32
81
82 #define PAGE_SHIFT      12
83
84 /* size named types */
85
86 typedef unsigned char   u8;
87 typedef unsigned char   __u8;
88 typedef unsigned short u16;
89 typedef unsigned short __u16;
90 typedef unsigned int   u32;
91 typedef unsigned int   __u32;
92 typedef unsigned long long u64;
93 typedef unsigned long long __u64;
94
95 typedef signed char     s8;
96 typedef signed char     __s8;
97 typedef short           s16;
98 typedef short           __s16;
99 typedef int             s32;
100 typedef int             __s32;
101 typedef long long       s64;
102 typedef long long       __s64;
103
104 #endif