3 Copyright (c) 2006 - 2011, 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
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 0x100000 * 80
31 #define NV_STORAGE_START 0x15000
32 #define NV_STORAGE_STATE 0x19000
37 EFI_HOB_GUID_TYPE Hob
;
38 EFI_MEMORY_TYPE_INFORMATION Info
[10];
39 } MEMORY_TYPE_INFORMATION_HOB
;
42 EFI_HOB_GUID_TYPE Hob
;
43 EFI_PHYSICAL_ADDRESS Table
;
47 EFI_HOB_GUID_TYPE Hob
;
48 EFI_PHYSICAL_ADDRESS Interface
;
52 EFI_HOB_GUID_TYPE Hob
;
53 // Note: we get only one PCI Segment now.
54 EFI_PCI_EXPRESS_BASE_ADDRESS_INFORMATION PciExpressBaseAddressInfo
;
55 } PCI_EXPRESS_BASE_HOB
;
58 EFI_HOB_GUID_TYPE Hob
;
59 EFI_ACPI_DESCRIPTION AcpiDescription
;
60 } ACPI_DESCRIPTION_HOB
;
63 EFI_HOB_GUID_TYPE Hob
;
64 EFI_FLASH_MAP_FS_ENTRY_DATA FvbInfo
;
68 EFI_HOB_HANDOFF_INFO_TABLE Phit
;
69 EFI_HOB_FIRMWARE_VOLUME Bfv
;
70 EFI_HOB_RESOURCE_DESCRIPTOR BfvResource
;
72 EFI_HOB_MEMORY_ALLOCATION_STACK Stack
;
73 EFI_HOB_MEMORY_ALLOCATION MemoryAllocation
;
74 EFI_HOB_RESOURCE_DESCRIPTOR MemoryFreeUnder1MB
;
75 EFI_HOB_RESOURCE_DESCRIPTOR MemoryAbove1MB
;
76 EFI_HOB_RESOURCE_DESCRIPTOR MemoryAbove4GB
;
77 EFI_HOB_MEMORY_ALLOCATION_MODULE DxeCore
;
78 EFI_HOB_RESOURCE_DESCRIPTOR MemoryDxeCore
;
79 MEMORY_TYPE_INFORMATION_HOB MemoryTypeInfo
;
85 PROTOCOL_HOB FlushInstructionCache;
86 PROTOCOL_HOB TransferControl;
87 PROTOCOL_HOB PeCoffLoader;
88 PROTOCOL_HOB EfiDecompress;
89 PROTOCOL_HOB TianoDecompress;
91 PROTOCOL_HOB SerialStatusCode
;
92 MEMORY_DESC_HOB MemoryDescriptor
;
93 PCI_EXPRESS_BASE_HOB PciExpress
;
94 ACPI_DESCRIPTION_HOB AcpiInfo
;
96 EFI_HOB_RESOURCE_DESCRIPTOR NvStorageFvResource
;
101 EFI_HOB_RESOURCE_DESCRIPTOR NvFtwFvResource
;
103 FVB_HOB NvFtwWorking
;
106 EFI_HOB_GENERIC_HEADER EndOfHobList
;
111 extern HOB_TEMPLATE
*gHob
;
126 IN UINTN NumberOfMemoryMapEntries
,
127 IN EFI_MEMORY_DESCRIPTOR
*EfiMemoryDescriptor
132 VOID
*DxeCoreEntryPoint
,
133 EFI_PHYSICAL_ADDRESS DxeCoreImageBase
,
140 UINT8 SizeOfMemorySpace
144 PrepareHobMemoryDescriptor (
145 VOID
*MemoryDescriptorTop
,
147 EFI_MEMORY_DESCRIPTOR
*MemDesc
157 PrepareHobNvStorage (
167 CompleteHobGeneration (