• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /** @file
2 
3 Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
4 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 #include <Base.h>
25 #include <Uefi.h>
26 
27 #define EFILDR_BASE_SEGMENT 0x2000
28 #define EFILDR_LOAD_ADDRESS        (EFILDR_BASE_SEGMENT << 4)
29 #define EFILDR_HEADER_ADDRESS      (EFILDR_LOAD_ADDRESS+0x2000)
30 
31 #define EFILDR_CB_VA        0x00
32 
33 typedef struct _EFILDRHANDOFF {
34     UINTN                    MemDescCount;
35     EFI_MEMORY_DESCRIPTOR   *MemDesc;
36     VOID                    *BfvBase;
37     UINTN                   BfvSize;
38     VOID                    *DxeIplImageBase;
39     UINTN                   DxeIplImageSize;
40     VOID                    *DxeCoreImageBase;
41     UINTN                   DxeCoreImageSize;
42     VOID                    *DxeCoreEntryPoint;
43 } EFILDRHANDOFF;
44 
45 typedef struct {
46     UINT32       CheckSum;
47     UINT32       Offset;
48     UINT32       Length;
49     UINT8        FileName[52];
50 } EFILDR_IMAGE;
51 
52 typedef struct {
53     UINT32       Signature;
54     UINT32       HeaderCheckSum;
55     UINT32       FileLength;
56     UINT32       NumberOfImages;
57 } EFILDR_HEADER;
58 
59 #endif
60