2 Processor or Compiler specific defines and types for IA-32 architecture.
4 Copyright 2015 Google Inc.
5 Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
6 This program and the accompanying materials are licensed and made available under
7 the terms and conditions of the BSD License that accompanies this distribution.
8 The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php.
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 #ifndef __PROCESSOR_BIND_H__
17 #define __PROCESSOR_BIND_H__
21 * This to mimic a processor binding for EDK. This is just to provide the
27 /// Define the processor type so other code can make processor based choices.
32 /// 8-byte unsigned value.
34 typedef uint64_t UINT64
;
36 /// 8-byte signed value.
38 typedef int64_t INT64
;
40 /// 4-byte unsigned value.
42 typedef uint32_t UINT32
;
44 /// 4-byte signed value.
46 typedef int32_t INT32
;
48 /// 2-byte unsigned value.
50 typedef uint16_t UINT16
;
52 /// 2-byte Character. Unless otherwise specified all strings are stored in the
53 /// UTF-16 encoding format as defined by Unicode 2.1 and ISO/IEC 10646 standards.
55 typedef uint16_t CHAR16
;
57 /// 2-byte signed value.
59 typedef int16_t INT16
;
61 /// Logical Boolean. 1-byte value containing 0 for FALSE or a 1 for TRUE. Other
62 /// values are undefined.
64 typedef unsigned char BOOLEAN
;
66 /// 1-byte unsigned value.
68 typedef unsigned char UINT8
;
74 /// 1-byte signed value
76 typedef signed char INT8
;
79 /// Unsigned value of native width. (4 bytes on supported 32-bit processor instructions;
80 /// 8 bytes on supported 64-bit processor instructions.)
82 typedef uintptr_t UINTN
;
84 /// Signed value of native width. (4 bytes on supported 32-bit processor instructions;
85 /// 8 bytes on supported 64-bit processor instructions.)
87 typedef intptr_t INTN
;
90 // Processor specific defines
94 /// A value of native width with the highest bit set.
95 // Not needed for non-runtime, but it shouldb
97 //#define MAX_BIT 0x80000000
99 // No API requirements as this is not for runtime.