• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*++
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 #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
57