| /* 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 |