diff --git a/EdkModulePkg/Bus/Pci/IdeBus/Dxe/idebus.msa b/EdkModulePkg/Bus/Pci/IdeBus/Dxe/idebus.msa
index 0d93504511..b7778459e5 100644
--- a/EdkModulePkg/Bus/Pci/IdeBus/Dxe/idebus.msa
+++ b/EdkModulePkg/Bus/Pci/IdeBus/Dxe/idebus.msa
@@ -80,6 +80,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
atapi.c
ComponentName.c
ComponentName.h
+ DriverConfiguration.c
+ DriverDiagnostics.h
diff --git a/EdkModulePkg/Bus/Pci/PciBus/Dxe/PciBus.msa b/EdkModulePkg/Bus/Pci/PciBus/Dxe/PciBus.msa
index 89389196a9..182baa7c6b 100644
--- a/EdkModulePkg/Bus/Pci/PciBus/Dxe/PciBus.msa
+++ b/EdkModulePkg/Bus/Pci/PciBus/Dxe/PciBus.msa
@@ -93,6 +93,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
pcibus.c
PciIo.c
PciLib.c
+ LightPciLib.c
diff --git a/EdkModulePkg/Core/DxeIplPeim/DxeIpl.msa b/EdkModulePkg/Core/DxeIplPeim/DxeIpl.msa
index eda29816e9..4bf84138b3 100644
--- a/EdkModulePkg/Core/DxeIplPeim/DxeIpl.msa
+++ b/EdkModulePkg/Core/DxeIplPeim/DxeIpl.msa
@@ -1,11 +1,11 @@
-
@@ -16,11 +16,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
Component description file for DxeIpl module
The responsibility of this module is to load the DXE Core from a Firmware Volume. This implementation i used to load a 32-bit DXE Core.
Copyright (c) 2006, Intel Corporation
- All rights reserved. This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ All rights reserved. This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052
@@ -78,6 +78,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
DxeLoad.c
+ DxeIpl.h
DxeIpl.dxs
Ia32/ImageRead.c
Ia32/DxeLoadFunc.c
diff --git a/EdkModulePkg/Core/DxeIplX64Peim/DxeIpl.dxs b/EdkModulePkg/Core/DxeIplX64Peim/DxeIpl.dxs
new file mode 100644
index 0000000000..6370d86cbf
--- /dev/null
+++ b/EdkModulePkg/Core/DxeIplX64Peim/DxeIpl.dxs
@@ -0,0 +1,29 @@
+/*++
+
+Copyright (c) 2006, Intel Corporation
+All rights reserved. This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+Module Name:
+
+ DxeIpl.dxs
+
+Abstract:
+
+ Dependency expression file for DXE Initial Program Loader PEIM.
+
+--*/
+
+#include
+#include
+
+DEPENDENCY_START
+ EFI_PEI_PERMANENT_MEMORY_INSTALLED_PPI_GUID
+DEPENDENCY_END
+
+
diff --git a/EdkModulePkg/Core/DxeIplX64Peim/DxeIpl.h b/EdkModulePkg/Core/DxeIplX64Peim/DxeIpl.h
new file mode 100644
index 0000000000..5e35042861
--- /dev/null
+++ b/EdkModulePkg/Core/DxeIplX64Peim/DxeIpl.h
@@ -0,0 +1,146 @@
+/*++
+
+Copyright (c) 2006, Intel Corporation
+All rights reserved. This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+Module Name:
+
+ DxeIpl.h
+
+Abstract:
+
+--*/
+
+#ifndef __PEI_DXEIPL_H__
+#define __PEI_DXEIPL_H__
+
+#define STACK_SIZE 0x20000
+#define BSP_STORE_SIZE 0x4000
+
+extern BOOLEAN gInMemory;
+
+VOID
+SwitchIplStacks (
+ VOID *EntryPoint,
+ UINTN Parameter1,
+ UINTN Parameter2,
+ VOID *NewStack,
+ VOID *NewBsp
+ )
+;
+
+EFI_STATUS
+PeiFindFile (
+ IN UINT8 Type,
+ IN UINT16 SectionType,
+ OUT EFI_GUID *FileName,
+ OUT VOID **Pe32Data
+ )
+;
+
+EFI_STATUS
+PeiLoadFile (
+ IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *PeiEfiPeiPeCoffLoader,
+ IN VOID *Pe32Data,
+ OUT EFI_PHYSICAL_ADDRESS *ImageAddress,
+ OUT UINT64 *ImageSize,
+ OUT EFI_PHYSICAL_ADDRESS *EntryPoint
+ )
+;
+
+
+EFI_STATUS
+CreateArchSpecificHobs (
+ OUT EFI_PHYSICAL_ADDRESS *BspStore
+ )
+;
+
+EFI_STATUS
+GetImageReadFunction (
+ IN PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
+ )
+;
+
+EFI_STATUS
+PeiImageRead (
+ IN VOID *FileHandle,
+ IN UINTN FileOffset,
+ IN OUT UINTN *ReadSize,
+ OUT VOID *Buffer
+ )
+;
+
+EFI_STATUS
+EFIAPI
+DxeIplLoadFile (
+ IN EFI_PEI_FV_FILE_LOADER_PPI *This,
+ IN EFI_FFS_FILE_HEADER *FfsHeader,
+ OUT EFI_PHYSICAL_ADDRESS *ImageAddress,
+ OUT UINT64 *ImageSize,
+ OUT EFI_PHYSICAL_ADDRESS *EntryPoint
+ );
+
+EFI_STATUS
+ShadowDxeIpl (
+ IN EFI_FFS_FILE_HEADER *DxeIpl,
+ IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *PeiEfiPeiPeCoffLoader
+ );
+
+EFI_STATUS
+EFIAPI
+DxeLoadCore (
+ IN EFI_DXE_IPL_PPI *This,
+ IN EFI_PEI_SERVICES **PeiServices,
+ IN EFI_PEI_HOB_POINTERS HobList
+ );
+
+EFI_STATUS
+PeiProcessFile (
+ IN UINT16 SectionType,
+ IN OUT EFI_FFS_FILE_HEADER **RealFfsFileHeader,
+ OUT VOID **Pe32Data
+ );
+
+EFI_STATUS
+EFIAPI
+PeimInitializeDxeIpl (
+ IN EFI_FFS_FILE_HEADER *FfsHeader,
+ IN EFI_PEI_SERVICES **PeiServices
+ );
+
+EFI_STATUS
+PeiLoadx64File (
+ IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *PeiEfiPeiPeCoffLoader,
+ IN VOID *Pe32Data,
+ IN EFI_MEMORY_TYPE MemoryType,
+ OUT EFI_PHYSICAL_ADDRESS *ImageAddress,
+ OUT UINT64 *ImageSize,
+ OUT EFI_PHYSICAL_ADDRESS *EntryPoint
+ )
+;
+
+EFI_PHYSICAL_ADDRESS
+CreateIdentityMappingPageTables (
+ IN UINT32 NumberOfProcessorPhysicalAddressBits
+ )
+;
+
+VOID
+ActivateLongMode (
+ IN EFI_PHYSICAL_ADDRESS PageTables,
+ IN EFI_PHYSICAL_ADDRESS HobStart,
+ IN EFI_PHYSICAL_ADDRESS Stack,
+ IN EFI_PHYSICAL_ADDRESS CodeEntryPoint1,
+ IN EFI_PHYSICAL_ADDRESS CodeEntryPoint2
+ );
+
+VOID
+LoadGo64Gdt();
+
+#endif
diff --git a/EdkModulePkg/Core/DxeIplPeim/DxeIplX64.msa b/EdkModulePkg/Core/DxeIplX64Peim/DxeIplX64.msa
similarity index 94%
rename from EdkModulePkg/Core/DxeIplPeim/DxeIplX64.msa
rename to EdkModulePkg/Core/DxeIplX64Peim/DxeIplX64.msa
index 80e00fd10c..929a62719f 100644
--- a/EdkModulePkg/Core/DxeIplPeim/DxeIplX64.msa
+++ b/EdkModulePkg/Core/DxeIplX64Peim/DxeIplX64.msa
@@ -1,11 +1,11 @@
-
-
@@ -16,16 +16,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
Component description file for DxeIplX64 module
The responsibility of this module is to load the DXE Core from a Firmware Volume. This implementation i used to load a 64-bit DXE Core.
Copyright 2006, Intel Corporation
- All rights reserved. This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ All rights reserved. This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052
- IA32 X64 IPF EBC
+ IA32
false
DxeIplX64
@@ -81,10 +81,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
DxeIpl.dxs
+ DxeIpl.h
DxeLoadX64.c
x64/ImageRead.c
x64/LongMode.asm
x64/DxeLoadFunc.c
+ x64/VirtualMemory.h
x64/VirtualMemory.c
diff --git a/EdkModulePkg/Core/DxeIplPeim/DxeLoadX64.c b/EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c
similarity index 100%
rename from EdkModulePkg/Core/DxeIplPeim/DxeLoadX64.c
rename to EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c
diff --git a/EdkModulePkg/Core/DxeIplPeim/x64/DxeLoadFunc.c b/EdkModulePkg/Core/DxeIplX64Peim/x64/DxeLoadFunc.c
similarity index 100%
rename from EdkModulePkg/Core/DxeIplPeim/x64/DxeLoadFunc.c
rename to EdkModulePkg/Core/DxeIplX64Peim/x64/DxeLoadFunc.c
diff --git a/EdkModulePkg/Core/DxeIplPeim/x64/ImageRead.c b/EdkModulePkg/Core/DxeIplX64Peim/x64/ImageRead.c
similarity index 100%
rename from EdkModulePkg/Core/DxeIplPeim/x64/ImageRead.c
rename to EdkModulePkg/Core/DxeIplX64Peim/x64/ImageRead.c
diff --git a/EdkModulePkg/Core/DxeIplPeim/x64/LongMode.asm b/EdkModulePkg/Core/DxeIplX64Peim/x64/LongMode.asm
similarity index 100%
rename from EdkModulePkg/Core/DxeIplPeim/x64/LongMode.asm
rename to EdkModulePkg/Core/DxeIplX64Peim/x64/LongMode.asm
diff --git a/EdkModulePkg/Core/DxeIplPeim/x64/VirtualMemory.c b/EdkModulePkg/Core/DxeIplX64Peim/x64/VirtualMemory.c
similarity index 100%
rename from EdkModulePkg/Core/DxeIplPeim/x64/VirtualMemory.c
rename to EdkModulePkg/Core/DxeIplX64Peim/x64/VirtualMemory.c
diff --git a/EdkModulePkg/Core/DxeIplPeim/x64/VirtualMemory.h b/EdkModulePkg/Core/DxeIplX64Peim/x64/VirtualMemory.h
similarity index 100%
rename from EdkModulePkg/Core/DxeIplPeim/x64/VirtualMemory.h
rename to EdkModulePkg/Core/DxeIplX64Peim/x64/VirtualMemory.h
diff --git a/EdkModulePkg/EdkModulePkg.spd b/EdkModulePkg/EdkModulePkg.spd
index 15ec1d81c4..96af0e11db 100644
--- a/EdkModulePkg/EdkModulePkg.spd
+++ b/EdkModulePkg/EdkModulePkg.spd
@@ -96,7 +96,7 @@
Bus/Usb/UsbMouse/Dxe/UsbMouse.msa
Core/Dxe/DxeMain.msa
Core/DxeIplPeim/DxeIpl.msa
- Core/DxeIplPeim/DxeIplX64.msa
+ Core/DxeIplX64Peim/DxeIplX64.msa
Core/Pei/PeiMain.msa
Library/BaseCustomDecompressLibNull/BaseCustomDecompressLibNull.msa
Library/BaseUefiTianoDecompressLib/BaseUefiTianoDecompressLib.msa
@@ -151,7 +151,7 @@
Universal/Security/SecurityStub/Dxe/SecurityStub.msa
Universal/StatusCode/RuntimeDxe/StatusCode.msa
Universal/UserInterface/HiiDataBase/Dxe/HiiDatabase.msa
- Universal/UserInterface/SetupBrowser/Dxe/DriverSample/DriverSample.msa
+ Universal/UserInterface/DriverSample/DriverSample.msa
Universal/UserInterface/SetupBrowser/Dxe/SetupBrowser.msa
Universal/Variable/Pei/Variable.msa
Universal/EmuVariable/RuntimeDxe/EmuVariable.msa
diff --git a/EdkModulePkg/Library/EdkDxePeCoffLoaderFromHobLib/EdkDxePeCoffLoaderFromHobLib.msa b/EdkModulePkg/Library/EdkDxePeCoffLoaderFromHobLib/EdkDxePeCoffLoaderFromHobLib.msa
index 2d0c7d2f49..fda12ff021 100644
--- a/EdkModulePkg/Library/EdkDxePeCoffLoaderFromHobLib/EdkDxePeCoffLoaderFromHobLib.msa
+++ b/EdkModulePkg/Library/EdkDxePeCoffLoaderFromHobLib/EdkDxePeCoffLoaderFromHobLib.msa
@@ -5,8 +5,8 @@
DXE_DRIVER
ed3de5c8-c389-44f2-a35e-2ebdc9802a49
1.0
- Component description file for the PEI library.
- FIX ME!
+ EdkPeCoffLoaderLib library instance
+ This library gets PeCoffLoader Protocol from Hob List
Copyright (c) 2006, Intel Corporation.
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
diff --git a/EdkModulePkg/Library/EdkPeCoffLoaderLib/EdkPeCoffLoaderLib.msa b/EdkModulePkg/Library/EdkPeCoffLoaderLib/EdkPeCoffLoaderLib.msa
index b8d24d73fc..66555bdfbf 100644
--- a/EdkModulePkg/Library/EdkPeCoffLoaderLib/EdkPeCoffLoaderLib.msa
+++ b/EdkModulePkg/Library/EdkPeCoffLoaderLib/EdkPeCoffLoaderLib.msa
@@ -5,8 +5,8 @@
PEIM
858bbbc9-474f-4556-a361-0ae52a44ffa5
1.0
- Component description file for the PEI library.
- FIX ME!
+ EdkPeCoffLoaderLib library instance
+ This library provides PeCoffLoader protocol based on PeCoffLib functions.
Copyright (c) 2006, Intel Corporation.
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
diff --git a/EdkModulePkg/Library/EdkPeCoffLoaderX64Lib/EdkPeCoffLoaderX64Lib.msa b/EdkModulePkg/Library/EdkPeCoffLoaderX64Lib/EdkPeCoffLoaderX64Lib.msa
index 50f69b88e1..aa79f201bc 100644
--- a/EdkModulePkg/Library/EdkPeCoffLoaderX64Lib/EdkPeCoffLoaderX64Lib.msa
+++ b/EdkModulePkg/Library/EdkPeCoffLoaderX64Lib/EdkPeCoffLoaderX64Lib.msa
@@ -5,8 +5,8 @@
PEIM
6aac37f2-7b46-4ef3-8645-c24800a3d410
1.0
- Component description file for the PEI library.
- FIX ME!
+ EdkPeCoffLoaderX64Lib library instance
+ This library provides PeCoffLoader protocol to support PE64 image.
Copyright (c) 2006, Intel Corporation.
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License