aboutsummaryrefslogtreecommitdiff
path: root/util/cbfstool/ProcessorBind.h
diff options
context:
space:
mode:
Diffstat (limited to 'util/cbfstool/ProcessorBind.h')
-rw-r--r--util/cbfstool/ProcessorBind.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/util/cbfstool/ProcessorBind.h b/util/cbfstool/ProcessorBind.h
new file mode 100644
index 0000000000..68463fb3ed
--- /dev/null
+++ b/util/cbfstool/ProcessorBind.h
@@ -0,0 +1,103 @@
+/** @file
+ Processor or Compiler specific defines and types for IA-32 architecture.
+
+Copyright 2015 Google Inc.
+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that accompanies this distribution.
+The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#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
+