summaryrefslogtreecommitdiffstats
path: root/util/cbfstool/ProcessorBind.h
blob: aa7f40795df953316de005cd667b94d8b7813d60 (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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/* SPDX-License-Identifier: BSD-2-Clause */
/** @file
 * Processor or Compiler specific defines and types for IA-32 architecture.
 */

#ifndef __PROCESSOR_BIND_H__
#define __PROCESSOR_BIND_H__


/*
 * This to mimic a processor binding for EDK. This is just to provide the
 * processor types.
 */
#include <inttypes.h>

///
/// Define the processor type so other code can make processor based choices.
///
#define MDE_CPU_IA32

///
/// 8-byte unsigned value.
///
typedef uint64_t UINT64;
///
/// 8-byte signed value.
///
typedef int64_t INT64;
///
/// 4-byte unsigned value.
///
typedef uint32_t UINT32;
///
/// 4-byte signed value.
///
typedef int32_t INT32;
///
/// 2-byte unsigned value.
///
typedef uint16_t UINT16;
///
/// 2-byte Character.  Unless otherwise specified all strings are stored in the
/// UTF-16 encoding format as defined by Unicode 2.1 and ISO/IEC 10646 standards.
///
typedef uint16_t CHAR16;
///
/// 2-byte signed value.
///
typedef int16_t INT16;
///
/// Logical Boolean.  1-byte value containing 0 for FALSE or a 1 for TRUE.  Other
/// values are undefined.
///
typedef unsigned char BOOLEAN;
///
/// 1-byte unsigned value.
///
typedef unsigned char UINT8;
///
/// 1-byte Character
///
typedef char CHAR8;
///
/// 1-byte signed value
///
typedef signed char INT8;

///
/// Unsigned value of native width.  (4 bytes on supported 32-bit processor instructions;
/// 8 bytes on supported 64-bit processor instructions.)
///
typedef uintptr_t UINTN;
///
/// Signed value of native width.  (4 bytes on supported 32-bit processor instructions;
/// 8 bytes on supported 64-bit processor instructions.)
///
typedef intptr_t INTN;

//
// Processor specific defines
//

///
/// A value of native width with the highest bit set.
//  Not needed for non-runtime, but it shouldb
///
//#define MAX_BIT     0x80000000

// No API requirements as this is not for runtime.
#define EFIAPI

#endif