3 Copyright (c) 2006 - 2009, 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
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.
21 #ifndef _DXELDR_HOB_GENERATION_H_
22 #define _DXELDR_HOB_GENERATION_H_
26 #define EFI_MEMORY_BELOW_1MB_START 0x86000
27 #define EFI_MEMORY_BELOW_1MB_END 0x9F800
28 #define EFI_MEMORY_STACK_PAGE_NUM 0x20
29 #define CONSUMED_MEMORY 0x2000000
31 #define NV_STORAGE_START 0x15000
32 #define NV_STORAGE_STATE 0x19000
34 #define EFI_LDR_MEMORY_DESCRIPTOR_GUID \
35 { 0x7701d7e5, 0x7d1d, 0x4432, {0xa4, 0x68, 0x67, 0x3d, 0xab, 0x8a, 0xde, 0x60}}
40 EFI_HOB_GUID_TYPE Hob
;
41 EFI_MEMORY_TYPE_INFORMATION Info
[10];
42 } MEMORY_TYPE_INFORMATION_HOB
;
45 EFI_HOB_GUID_TYPE Hob
;
46 EFI_PHYSICAL_ADDRESS Table
;
50 EFI_HOB_GUID_TYPE Hob
;
55 EFI_HOB_GUID_TYPE Hob
;
57 EFI_MEMORY_DESCRIPTOR
*MemDesc
;
61 EFI_HOB_GUID_TYPE Hob
;
62 // Note: we get only one PCI Segment now.
63 EFI_PCI_EXPRESS_BASE_ADDRESS_INFORMATION PciExpressBaseAddressInfo
;
64 } PCI_EXPRESS_BASE_HOB
;
67 EFI_HOB_GUID_TYPE Hob
;
68 EFI_ACPI_DESCRIPTION AcpiDescription
;
69 } ACPI_DESCRIPTION_HOB
;
72 EFI_HOB_GUID_TYPE Hob
;
73 EFI_FLASH_MAP_FS_ENTRY_DATA FvbInfo
;
77 EFI_HOB_HANDOFF_INFO_TABLE Phit
;
78 EFI_HOB_FIRMWARE_VOLUME Bfv
;
79 EFI_HOB_RESOURCE_DESCRIPTOR BfvResource
;
81 EFI_HOB_MEMORY_ALLOCATION_STACK Stack
;
82 EFI_HOB_MEMORY_ALLOCATION MemoryAllocation
;
83 EFI_HOB_RESOURCE_DESCRIPTOR MemoryFreeUnder1MB
;
84 EFI_HOB_RESOURCE_DESCRIPTOR MemoryAbove1MB
;
85 EFI_HOB_RESOURCE_DESCRIPTOR MemoryAbove4GB
;
86 EFI_HOB_MEMORY_ALLOCATION_MODULE DxeCore
;
87 EFI_HOB_RESOURCE_DESCRIPTOR MemoryDxeCore
;
88 MEMORY_TYPE_INFORMATION_HOB MemoryTypeInfo
;
94 PROTOCOL_HOB FlushInstructionCache;
95 PROTOCOL_HOB TransferControl;
96 PROTOCOL_HOB PeCoffLoader;
97 PROTOCOL_HOB EfiDecompress;
98 PROTOCOL_HOB TianoDecompress;
100 PROTOCOL_HOB SerialStatusCode
;
101 MEMORY_DESC_HOB MemoryDescriptor
;
102 PCI_EXPRESS_BASE_HOB PciExpress
;
103 ACPI_DESCRIPTION_HOB AcpiInfo
;
105 EFI_HOB_RESOURCE_DESCRIPTOR NvStorageFvResource
;
107 FVB_HOB NvStorageFvb
;
110 EFI_HOB_RESOURCE_DESCRIPTOR NvFtwFvResource
;
112 FVB_HOB NvFtwWorking
;
115 EFI_HOB_GENERIC_HEADER EndOfHobList
;
120 extern HOB_TEMPLATE
*gHob
;
135 IN UINTN NumberOfMemoryMapEntries
,
136 IN EFI_MEMORY_DESCRIPTOR
*EfiMemoryDescriptor
141 VOID
*DxeCoreEntryPoint
,
142 EFI_PHYSICAL_ADDRESS DxeCoreImageBase
,
149 UINT8 SizeOfMemorySpace
153 PrepareHobMemoryDescriptor (
154 VOID
*MemoryDescriptorTop
,
156 EFI_MEMORY_DESCRIPTOR
*MemDesc
166 PrepareHobNvStorage (
176 CompleteHobGeneration (