summaryrefslogtreecommitdiff
path: root/EdkModulePkg/Core
diff options
context:
space:
mode:
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2006-07-12 23:38:53 +0000
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2006-07-12 23:38:53 +0000
commit5343eab11a2dfefaef0e332dad7269a65be41e56 (patch)
treec201ab60b59964b3417863a32d85be24de419d9b /EdkModulePkg/Core
parent47a16b84f23e83c49d0fa0c5f9ae507df4b5c986 (diff)
downloadedk2-platforms-5343eab11a2dfefaef0e332dad7269a65be41e56.tar.xz
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
Diffstat (limited to 'EdkModulePkg/Core')
-rw-r--r--EdkModulePkg/Core/DxeIplPeim/DxeIpl.msa25
-rw-r--r--EdkModulePkg/Core/DxeIplX64Peim/DxeIpl.dxs29
-rw-r--r--EdkModulePkg/Core/DxeIplX64Peim/DxeIpl.h146
-rw-r--r--EdkModulePkg/Core/DxeIplX64Peim/DxeIplX64.msa (renamed from EdkModulePkg/Core/DxeIplPeim/DxeIplX64.msa)30
-rw-r--r--EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c (renamed from EdkModulePkg/Core/DxeIplPeim/DxeLoadX64.c)0
-rw-r--r--EdkModulePkg/Core/DxeIplX64Peim/x64/DxeLoadFunc.c (renamed from EdkModulePkg/Core/DxeIplPeim/x64/DxeLoadFunc.c)0
-rw-r--r--EdkModulePkg/Core/DxeIplX64Peim/x64/ImageRead.c (renamed from EdkModulePkg/Core/DxeIplPeim/x64/ImageRead.c)0
-rw-r--r--EdkModulePkg/Core/DxeIplX64Peim/x64/LongMode.asm (renamed from EdkModulePkg/Core/DxeIplPeim/x64/LongMode.asm)0
-rw-r--r--EdkModulePkg/Core/DxeIplX64Peim/x64/VirtualMemory.c (renamed from EdkModulePkg/Core/DxeIplPeim/x64/VirtualMemory.c)0
-rw-r--r--EdkModulePkg/Core/DxeIplX64Peim/x64/VirtualMemory.h (renamed from EdkModulePkg/Core/DxeIplPeim/x64/VirtualMemory.h)0
10 files changed, 204 insertions, 26 deletions
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 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--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,
+<!--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.-->
<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">
<MsaHeader>
@@ -16,11 +16,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
<Abstract>Component description file for DxeIpl module</Abstract>
<Description>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.</Description>
<Copyright>Copyright (c) 2006, Intel Corporation</Copyright>
- <License>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,
+ <License>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.</License>
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
</MsaHeader>
@@ -78,6 +78,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
</LibraryClassDefinitions>
<SourceFiles>
<Filename>DxeLoad.c</Filename>
+ <Filename>DxeIpl.h</Filename>
<Filename>DxeIpl.dxs</Filename>
<Filename SupArchList="IA32">Ia32/ImageRead.c</Filename>
<Filename SupArchList="IA32">Ia32/DxeLoadFunc.c</Filename>
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 <AutoGen.h>
+#include <PeimDepex.h>
+
+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
index 80e00fd10c..929a62719f 100644
--- a/EdkModulePkg/Core/DxeIplPeim/DxeIplX64.msa
+++ b/EdkModulePkg/Core/DxeIplX64Peim/DxeIplX64.msa
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--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,
+<?xml version="1.0" encoding="UTF-8"?>
+<!--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.-->
<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">
<MsaHeader>
@@ -16,16 +16,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
<Abstract>Component description file for DxeIplX64 module</Abstract>
<Description>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.</Description>
<Copyright>Copyright 2006, Intel Corporation</Copyright>
- <License>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,
+ <License>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.</License>
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
</MsaHeader>
<ModuleDefinitions>
- <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
+ <SupportedArchitectures>IA32</SupportedArchitectures>
<BinaryModule>false</BinaryModule>
<OutputFileBasename>DxeIplX64</OutputFileBasename>
</ModuleDefinitions>
@@ -81,10 +81,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
</LibraryClassDefinitions>
<SourceFiles>
<Filename>DxeIpl.dxs</Filename>
+ <Filename>DxeIpl.h</Filename>
<Filename>DxeLoadX64.c</Filename>
<Filename SupArchList="IA32">x64/ImageRead.c</Filename>
<Filename SupArchList="IA32">x64/LongMode.asm</Filename>
<Filename SupArchList="IA32">x64/DxeLoadFunc.c</Filename>
+ <Filename SupArchList="IA32">x64/VirtualMemory.h</Filename>
<Filename SupArchList="IA32">x64/VirtualMemory.c</Filename>
</SourceFiles>
<PackageDependencies>
diff --git a/EdkModulePkg/Core/DxeIplPeim/DxeLoadX64.c b/EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c
index cbb7595dac..cbb7595dac 100644
--- a/EdkModulePkg/Core/DxeIplPeim/DxeLoadX64.c
+++ b/EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c
diff --git a/EdkModulePkg/Core/DxeIplPeim/x64/DxeLoadFunc.c b/EdkModulePkg/Core/DxeIplX64Peim/x64/DxeLoadFunc.c
index c93c7e1747..c93c7e1747 100644
--- a/EdkModulePkg/Core/DxeIplPeim/x64/DxeLoadFunc.c
+++ b/EdkModulePkg/Core/DxeIplX64Peim/x64/DxeLoadFunc.c
diff --git a/EdkModulePkg/Core/DxeIplPeim/x64/ImageRead.c b/EdkModulePkg/Core/DxeIplX64Peim/x64/ImageRead.c
index dd977f2d2e..dd977f2d2e 100644
--- a/EdkModulePkg/Core/DxeIplPeim/x64/ImageRead.c
+++ b/EdkModulePkg/Core/DxeIplX64Peim/x64/ImageRead.c
diff --git a/EdkModulePkg/Core/DxeIplPeim/x64/LongMode.asm b/EdkModulePkg/Core/DxeIplX64Peim/x64/LongMode.asm
index ae87bd83e4..ae87bd83e4 100644
--- a/EdkModulePkg/Core/DxeIplPeim/x64/LongMode.asm
+++ b/EdkModulePkg/Core/DxeIplX64Peim/x64/LongMode.asm
diff --git a/EdkModulePkg/Core/DxeIplPeim/x64/VirtualMemory.c b/EdkModulePkg/Core/DxeIplX64Peim/x64/VirtualMemory.c
index 40eaed2ce6..40eaed2ce6 100644
--- a/EdkModulePkg/Core/DxeIplPeim/x64/VirtualMemory.c
+++ b/EdkModulePkg/Core/DxeIplX64Peim/x64/VirtualMemory.c
diff --git a/EdkModulePkg/Core/DxeIplPeim/x64/VirtualMemory.h b/EdkModulePkg/Core/DxeIplX64Peim/x64/VirtualMemory.h
index 8133ad447f..8133ad447f 100644
--- a/EdkModulePkg/Core/DxeIplPeim/x64/VirtualMemory.h
+++ b/EdkModulePkg/Core/DxeIplX64Peim/x64/VirtualMemory.h