]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Common/MultiPhase.h
automagically convert ELF to PE/COFF (i386 only)
[mirror_edk2.git] / MdePkg / Include / Common / MultiPhase.h
CommitLineData
878ddf1f 1/** @file\r
2 This includes some definitions that will be used in both PEI and DXE phases.\r
3\r
4 Copyright (c) 2006, Intel Corporation \r
5 All rights reserved. This program and the accompanying materials \r
6 are licensed and made available under the terms and conditions of the BSD License \r
7 which accompanies this distribution. The full text of the license may be found at \r
8 http://opensource.org/licenses/bsd-license.php \r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
12\r
13 Module Name: MultiPhase.h\r
14\r
15**/\r
16\r
17#ifndef __MULTI_PHASE_H__\r
18#define __MULTI_PHASE_H__\r
19\r
878ddf1f 20//\r
21// Needed EFI defines for PEI\r
22//\r
23typedef UINT64 EFI_PHYSICAL_ADDRESS;\r
24\r
25typedef enum {\r
26 EfiReservedMemoryType,\r
27 EfiLoaderCode,\r
28 EfiLoaderData,\r
29 EfiBootServicesCode,\r
30 EfiBootServicesData,\r
31 EfiRuntimeServicesCode,\r
32 EfiRuntimeServicesData,\r
33 EfiConventionalMemory,\r
34 EfiUnusableMemory,\r
35 EfiACPIReclaimMemory,\r
36 EfiACPIMemoryNVS,\r
37 EfiMemoryMappedIO,\r
38 EfiMemoryMappedIOPortSpace,\r
39 EfiPalCode,\r
40 EfiMaxMemoryType\r
41} EFI_MEMORY_TYPE;\r
42\r
43typedef UINT32 EFI_STATUS_CODE_TYPE;\r
44typedef UINT32 EFI_STATUS_CODE_VALUE;\r
45\r
46typedef struct {\r
47 UINT16 HeaderSize;\r
48 UINT16 Size;\r
49 EFI_GUID Type;\r
50} EFI_STATUS_CODE_DATA;\r
51\r
52typedef struct {\r
53 UINT64 Signature;\r
54 UINT32 Revision;\r
55 UINT32 HeaderSize;\r
56 UINT32 CRC32;\r
57 UINT32 Reserved;\r
58} EFI_TABLE_HEADER;\r
59\r
60#define EFI_PAGE_SIZE 4096\r
61\r
62\r
63typedef VOID *EFI_HANDLE;\r
64typedef UINT16 EFI_HII_HANDLE;\r
65typedef UINT16 STRING_REF;\r
66typedef struct {\r
67 INT16 Value;\r
68 INT16 Exponent;\r
69} EFI_EXP_BASE10_DATA;\r
70\r
71//\r
72// Define macros to build data structure signatures from characters.\r
73//\r
74#define EFI_SIGNATURE_16(A, B) ((A) | (B << 8))\r
75#define EFI_SIGNATURE_32(A, B, C, D) (EFI_SIGNATURE_16 (A, B) | (EFI_SIGNATURE_16 (C, D) << 16))\r
76#define EFI_SIGNATURE_64(A, B, C, D, E, F, G, H) \\r
77 (EFI_SIGNATURE_32 (A, B, C, D) | ((UINT64) (EFI_SIGNATURE_32 (E, F, G, H)) << 32))\r
78\r
79\r
80#include <Protocol/DevicePath.h>\r
81\r
82#endif\r