summaryrefslogtreecommitdiff
path: root/roms/openbios/include/arch/amd64/types.h
blob: 83fd3e117890db1233cf07b5527583b661846106 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/* tag: data types for forth engine
 *
 * This file is autogenerated by types.sh. Do not edit!
 *
 * Copyright (C) 2003 Patrick Mauritz, Stefan Reinauer
 *
 * See the file "COPYING" for further information about
 * the copyright and warranty status of this work.
 */

#ifndef __TYPES_H
#define __TYPES_H

#include <inttypes.h>

/* endianess */
#include "autoconf.h"

/* physical address */

typedef uint64_t phys_addr_t;

#define FMT_plx "%016" PRIx64

/* cell based types */

typedef int64_t     cell;
typedef uint64_t    ucell;
typedef __int128_t  dcell;
typedef __uint128_t ducell;

#define FMT_ucellx  "%016" PRIx64

typedef int64_t         prom_arg_t;
typedef uint64_t        prom_uarg_t;

#define PRIdPROMARG     PRId64
#define PRIuPROMARG     PRIu64
#define PRIxPROMARG     PRIx64
#define FMT_prom_arg    "%" PRIdPROMARG
#define FMT_prom_uarg   "%" PRIuPROMARG
#define FMT_prom_uargx  "%016" PRIxPROMARG

#define FMT_elf     "%#x"

#define bitspercell	(sizeof(cell)<<3)
#define bitsperdcell	(sizeof(dcell)<<3)

#define BITS		64

/* size named types */

typedef unsigned char   u8;
typedef unsigned short u16;
typedef unsigned int   u32;
typedef unsigned long  u64;

typedef char  		s8;
typedef short		s16;
typedef int		s32;
typedef long		s64;

#endif