From 5343eab11a2dfefaef0e332dad7269a65be41e56 Mon Sep 17 00:00:00 2001 From: lgao4 Date: Wed, 12 Jul 2006 23:38:53 +0000 Subject: [PATCH] Add missing files in msa file and add module description in msa file, and reorganize DriverSample and DxeIplX64 module directory. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@927 6f19259b-4bc3-4df7-8a09-765794883524 --- EdkModulePkg/Bus/Pci/IdeBus/Dxe/idebus.msa | 2 + EdkModulePkg/Bus/Pci/PciBus/Dxe/PciBus.msa | 1 + EdkModulePkg/Core/DxeIplPeim/DxeIpl.msa | 25 +-- EdkModulePkg/Core/DxeIplX64Peim/DxeIpl.dxs | 29 ++++ EdkModulePkg/Core/DxeIplX64Peim/DxeIpl.h | 146 ++++++++++++++++++ .../DxeIplX64.msa | 30 ++-- .../DxeLoadX64.c | 0 .../x64/DxeLoadFunc.c | 0 .../x64/ImageRead.c | 0 .../x64/LongMode.asm | 0 .../x64/VirtualMemory.c | 0 .../x64/VirtualMemory.h | 0 EdkModulePkg/EdkModulePkg.spd | 4 +- .../EdkDxePeCoffLoaderFromHobLib.msa | 4 +- .../EdkPeCoffLoaderLib/EdkPeCoffLoaderLib.msa | 4 +- .../EdkPeCoffLoaderX64Lib.msa | 4 +- 16 files changed, 215 insertions(+), 34 deletions(-) create mode 100644 EdkModulePkg/Core/DxeIplX64Peim/DxeIpl.dxs create mode 100644 EdkModulePkg/Core/DxeIplX64Peim/DxeIpl.h rename EdkModulePkg/Core/{DxeIplPeim => DxeIplX64Peim}/DxeIplX64.msa (93%) rename EdkModulePkg/Core/{DxeIplPeim => DxeIplX64Peim}/DxeLoadX64.c (100%) rename EdkModulePkg/Core/{DxeIplPeim => DxeIplX64Peim}/x64/DxeLoadFunc.c (100%) rename EdkModulePkg/Core/{DxeIplPeim => DxeIplX64Peim}/x64/ImageRead.c (100%) rename EdkModulePkg/Core/{DxeIplPeim => DxeIplX64Peim}/x64/LongMode.asm (100%) rename EdkModulePkg/Core/{DxeIplPeim => DxeIplX64Peim}/x64/VirtualMemory.c (100%) rename EdkModulePkg/Core/{DxeIplPeim => DxeIplX64Peim}/x64/VirtualMemory.h (100%) 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 93% 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 -- 2.39.2