1 /* SPDX-License-Identifier: BSD-2-Clause */
3 * Processor or Compiler specific defines and types for IA-32 architecture.
6 #ifndef __PROCESSOR_BIND_H__
7 #define __PROCESSOR_BIND_H__
11 * This to mimic a processor binding for EDK. This is just to provide the
17 /// Define the processor type so other code can make processor based choices.
22 /// 8-byte unsigned value.
24 typedef uint64_t UINT64
;
26 /// 8-byte signed value.
28 typedef int64_t INT64
;
30 /// 4-byte unsigned value.
32 typedef uint32_t UINT32
;
34 /// 4-byte signed value.
36 typedef int32_t INT32
;
38 /// 2-byte unsigned value.
40 typedef uint16_t UINT16
;
42 /// 2-byte Character. Unless otherwise specified all strings are stored in the
43 /// UTF-16 encoding format as defined by Unicode 2.1 and ISO/IEC 10646 standards.
45 typedef uint16_t CHAR16
;
47 /// 2-byte signed value.
49 typedef int16_t INT16
;
51 /// Logical Boolean. 1-byte value containing 0 for FALSE or a 1 for TRUE. Other
52 /// values are undefined.
54 typedef unsigned char BOOLEAN
;
56 /// 1-byte unsigned value.
58 typedef unsigned char UINT8
;
64 /// 1-byte signed value
66 typedef signed char INT8
;
69 /// Unsigned value of native width. (4 bytes on supported 32-bit processor instructions;
70 /// 8 bytes on supported 64-bit processor instructions.)
72 typedef uintptr_t UINTN
;
74 /// Signed value of native width. (4 bytes on supported 32-bit processor instructions;
75 /// 8 bytes on supported 64-bit processor instructions.)
77 typedef intptr_t INTN
;
80 // Processor specific defines
84 /// A value of native width with the highest bit set.
85 // Not needed for non-runtime, but it shouldb
87 //#define MAX_BIT 0x80000000
89 // No API requirements as this is not for runtime.