]> git.proxmox.com Git - mirror_edk2.git/blob - DuetPkg/EfiLdr/EfiLdrHandoff.h
786b6cb828237a29ec6357139844009739fd79db
[mirror_edk2.git] / DuetPkg / EfiLdr / EfiLdrHandoff.h
1 /*++
2
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13 EfiLdrHandoff.h
14
15 Abstract:
16
17 Revision History:
18
19 --*/
20
21 #ifndef _EFILDR_HANDOFF_H_
22 #define _EFILDR_HANDOFF_H_
23
24 #define EFILDR_BASE_SEGMENT 0x2000
25 #define EFILDR_LOAD_ADDRESS (EFILDR_BASE_SEGMENT << 4)
26 #define EFILDR_HEADER_ADDRESS (EFILDR_LOAD_ADDRESS+0x2000)
27
28 #define EFILDR_CB_VA 0x00
29
30 typedef struct _EFILDRHANDOFF {
31 UINTN MemDescCount;
32 EFI_MEMORY_DESCRIPTOR *MemDesc;
33 VOID *BfvBase;
34 UINTN BfvSize;
35 VOID *DxeIplImageBase;
36 UINTN DxeIplImageSize;
37 VOID *DxeCoreImageBase;
38 UINTN DxeCoreImageSize;
39 VOID *DxeCoreEntryPoint;
40 } EFILDRHANDOFF;
41
42 typedef struct {
43 UINT32 CheckSum;
44 UINT32 Offset;
45 UINT32 Length;
46 UINT8 FileName[52];
47 } EFILDR_IMAGE;
48
49 typedef struct {
50 UINT32 Signature;
51 UINT32 HeaderCheckSum;
52 UINT32 FileLength;
53 UINT32 NumberOfImages;
54 } EFILDR_HEADER;
55
56 #endif