Enable Nt32 platform boot to DXE phase.
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 5 Jul 2007 09:41:22 +0000 (09:41 +0000)
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 5 Jul 2007 09:41:22 +0000 (09:41 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3073 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Core/Pei/PeiMain.inf
MdePkg/Include/Library/OldPeiCoreEntryPoint.h [new file with mode: 0644]
MdePkg/Library/OldPeiCoreEntryPoint/OldPeiCoreEntryPoint.inf [new file with mode: 0644]
MdePkg/Library/OldPeiCoreEntryPoint/PeiCoreEntryPoint.c [new file with mode: 0644]
MdePkg/Library/OldPeiCoreEntryPoint/PeiCoreEntryPoint.msa [new file with mode: 0644]
MdePkg/MdePkg.dec
Nt32Pkg/Nt32Pkg.dsc
Nt32Pkg/Nt32Pkg.fdf

index 61641e3..c556823 100644 (file)
   PerformanceLib\r
   HobLib\r
   BaseLib\r
-  PeiCoreEntryPoint\r
+  OldPeiCoreEntryPoint\r
   DebugLib\r
 \r
 \r
diff --git a/MdePkg/Include/Library/OldPeiCoreEntryPoint.h b/MdePkg/Include/Library/OldPeiCoreEntryPoint.h
new file mode 100644 (file)
index 0000000..b9d2ac7
--- /dev/null
@@ -0,0 +1,93 @@
+/** @file\r
+  Entry point to the PEI Core\r
+\r
+Copyright (c) 2006, Intel Corporation<BR>\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution.  The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#ifndef __MODULE_ENTRY_POINT_H__\r
+#define __MODULE_ENTRY_POINT_H__\r
+\r
+/**\r
+\r
+  Enrty point to PEI core.\r
+\r
+  @param SecCoreData    Points to a data structure containing\r
+                        information about the PEI core's\r
+                        operating environment, such as the size\r
+                        and location of temporary RAM, the stack\r
+                        location and the BFV location. The type\r
+                        EFI_SEC_PEI_HAND_OFF is\r
+\r
+  @param PpiList        Points to a list of one or more PPI\r
+                        descriptors to be installed initially by\r
+                        the PEI core. An empty PPI list consists\r
+                        of a single descriptor with the end-tag\r
+                        EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.\r
+                        As part of its initialization phase, the\r
+                        PEI Foundation will add these SEC-hosted\r
+                        PPIs to its PPI database such that both\r
+                        the PEI Foundation and any modules can\r
+                        leverage the associated service calls\r
+                        and/or code in these early PPIs.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+_ModuleEntryPoint (\r
+  IN EFI_PEI_STARTUP_DESCRIPTOR  *PeiStartupDescriptor\r
+  );\r
+\r
+/**\r
+  Wrapper of enrty point to PEI core.\r
+\r
+  @param  PeiStartupDescriptor Pointer of start up information.\r
\r
+  @return Status returned by entry points of core and drivers. \r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+EfiMain (\r
+  IN EFI_PEI_STARTUP_DESCRIPTOR  *PeiStartupDescriptor\r
+  );\r
+\r
+/**\r
+  Call constructs for all libraries. Automatics Generated by tool.\r
+\r
+  @param  FfsHeader   Pointer to header of FFS.\r
+  @param  PeiServices Pointer to the PEI Services Table.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+ProcessLibraryConstructorList (\r
+  IN EFI_FFS_FILE_HEADER  *FfsHeader,\r
+  IN EFI_PEI_SERVICES     **PeiServices\r
+  );\r
+\r
+\r
+/**\r
+  Call the list of driver entry points. Automatics Generated by tool.\r
+\r
+  @param  PeiStartupDescriptor  Pointer to startup information .\r
+  @param  OldCoreData           Pointer to Original startup information.\r
+\r
+  @return Status returned by entry points of drivers.  \r
\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+ProcessModuleEntryPointList (\r
+  IN EFI_PEI_STARTUP_DESCRIPTOR  *PeiStartupDescriptor,\r
+  IN VOID                        *OldCoreData\r
+  );\r
+\r
+#endif\r
diff --git a/MdePkg/Library/OldPeiCoreEntryPoint/OldPeiCoreEntryPoint.inf b/MdePkg/Library/OldPeiCoreEntryPoint/OldPeiCoreEntryPoint.inf
new file mode 100644 (file)
index 0000000..3078f5e
--- /dev/null
@@ -0,0 +1,59 @@
+#/** @file\r
+# Entry point to a the PEI Core\r
+#\r
+# The library contains the entry point to a PEI core Module Type.\r
+# Copyright (c) 2007 - 2007, Intel Corporation.\r
+#\r
+#  All rights reserved. This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution. The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+#\r
+#**/\r
+\r
+################################################################################\r
+#\r
+# Defines Section - statements that will be processed to create a Makefile.\r
+#\r
+################################################################################\r
+[Defines]\r
+  INF_VERSION                    = 0x00010005\r
+  BASE_NAME                      = PeiCoreEntryPoint\r
+  FILE_GUID                      = b3b0654a-969d-4096-86cb-27e262a02083\r
+  MODULE_TYPE                    = PEI_CORE\r
+  VERSION_STRING                 = 1.0\r
+  LIBRARY_CLASS                  = PeiCoreEntryPoint|PEI_CORE \r
+  EDK_RELEASE_VERSION            = 0x00020000\r
+  EFI_SPECIFICATION_VERSION      = 0x00020000\r
+\r
+\r
+#\r
+# The following information is for reference only and not required by the build tools.\r
+#\r
+#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
+#\r
+\r
+################################################################################\r
+#\r
+# Sources Section - list of files that are required for the build to succeed.\r
+#\r
+################################################################################\r
+\r
+[Sources.common]\r
+  PeiCoreEntryPoint.c\r
+\r
+\r
+\r
+################################################################################\r
+#\r
+# Package Dependency Section - list of Package files that are required for\r
+#                              this module.\r
+#\r
+################################################################################\r
+\r
+[Packages]\r
+  MdePkg/MdePkg.dec\r
+\r
diff --git a/MdePkg/Library/OldPeiCoreEntryPoint/PeiCoreEntryPoint.c b/MdePkg/Library/OldPeiCoreEntryPoint/PeiCoreEntryPoint.c
new file mode 100644 (file)
index 0000000..c18284a
--- /dev/null
@@ -0,0 +1,92 @@
+/** @file\r
+  Entry point to a the PEI Core.\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution.  The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+//\r
+// The package level header files this module uses\r
+//\r
+#include <PiPei.h>\r
+//\r
+// The protocols, PPI and GUID defintions for this module\r
+//\r
+//\r
+// The Library classes this module produced\r
+//\r
+#include <Library/OldPeiCoreEntryPoint.h>\r
+\r
+/**\r
+\r
+  Enrty point to PEI core.\r
+\r
+  @param SecCoreData    Points to a data structure containing\r
+                        information about the PEI core's\r
+                        operating environment, such as the size\r
+                        and location of temporary RAM, the stack\r
+                        location and the BFV location. The type\r
+                        EFI_SEC_PEI_HAND_OFF is\r
+\r
+  @param PpiList        Points to a list of one or more PPI\r
+                        descriptors to be installed initially by\r
+                        the PEI core. An empty PPI list consists\r
+                        of a single descriptor with the end-tag\r
+                        EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.\r
+                        As part of its initialization phase, the\r
+                        PEI Foundation will add these SEC-hosted\r
+                        PPIs to its PPI database such that both\r
+                        the PEI Foundation and any modules can\r
+                        leverage the associated service calls\r
+                        and/or code in these early PPIs.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI \r
+_ModuleEntryPoint(\r
+  IN EFI_PEI_STARTUP_DESCRIPTOR  *PeiStartupDescriptor\r
+)\r
+{\r
+  return ProcessModuleEntryPointList (PeiStartupDescriptor, NULL);\r
+}\r
+\r
+\r
+/**\r
+  \r
+  Wrapper of enrty point to PEI core.\r
+  \r
+  @param SecCoreData    Points to a data structure containing\r
+                        information about the PEI core's\r
+                        operating environment, such as the size\r
+                        and location of temporary RAM, the stack\r
+                        location and the BFV location. The type\r
+                        EFI_SEC_PEI_HAND_OFF is\r
+\r
+  @param PpiList        Points to a list of one or more PPI\r
+                        descriptors to be installed initially by\r
+                        the PEI core. An empty PPI list consists\r
+                        of a single descriptor with the end-tag\r
+                        EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.\r
+                        As part of its initialization phase, the\r
+                        PEI Foundation will add these SEC-hosted\r
+                        PPIs to its PPI database such that both\r
+                        the PEI Foundation and any modules can\r
+                        leverage the associated service calls\r
+                        and/or code in these early PPIs.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+EfiMain (\r
+  IN EFI_PEI_STARTUP_DESCRIPTOR  *PeiStartupDescriptor\r
+  )\r
+{\r
+  return _ModuleEntryPoint (PeiStartupDescriptor);\r
+}\r
diff --git a/MdePkg/Library/OldPeiCoreEntryPoint/PeiCoreEntryPoint.msa b/MdePkg/Library/OldPeiCoreEntryPoint/PeiCoreEntryPoint.msa
new file mode 100644 (file)
index 0000000..cd1015b
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
+  <MsaHeader>\r
+    <ModuleName>PeiCoreEntryPoint</ModuleName>\r
+    <ModuleType>PEI_CORE</ModuleType>\r
+    <GuidValue>b3b0654a-969d-4096-86cb-27e262a02083</GuidValue>\r
+    <Version>1.0</Version>\r
+    <Abstract>Entry point to a the PEI Core</Abstract>\r
+    <Description>The library contains the entry point to a PEI core Module Type.</Description>\r
+    <Copyright>Copyright (c) 2006 - 2007, Intel Corporation.</Copyright>\r
+    <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>\r
+    <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>\r
+  </MsaHeader>\r
+  <ModuleDefinitions>\r
+    <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>\r
+    <BinaryModule>false</BinaryModule>\r
+    <OutputFileBasename>PeiCoreEntryPoint</OutputFileBasename>\r
+  </ModuleDefinitions>\r
+  <LibraryClassDefinitions>\r
+    <LibraryClass Usage="ALWAYS_PRODUCED" SupModuleList="PEI_CORE">\r
+      <Keyword>PeiCoreEntryPoint</Keyword>\r
+    </LibraryClass>\r
+  </LibraryClassDefinitions>\r
+  <SourceFiles>\r
+    <Filename>PeiCoreEntryPoint.c</Filename>\r
+  </SourceFiles>\r
+  <PackageDependencies>\r
+    <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
+  </PackageDependencies>\r
+  <Externs>\r
+    <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r
+    <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>\r
+  </Externs>\r
+</ModuleSurfaceArea>
\ No newline at end of file
index df224e8..53f114d 100644 (file)
@@ -82,6 +82,7 @@
   PeiServicesLib|Include/Library/PeiServicesLib.h\r
   PeimEntryPoint|Include/Library/PeimEntryPoint.h\r
   PeiCoreEntryPoint|Include/Library/PeiCoreEntryPoint.h\r
+  OldPeiCoreEntryPoint|Include/Library/OldPeiCoreEntryPoint.h\r
   PeCoffLib|Include/Library/PeCoffLib.h\r
   PeCoffGetEntryPointLib|Include/Library/PeCoffGetEntryPointLib.h\r
   PciSegmentLib|Include/Library/PciSegmentLib.h\r
   BaseMemoryLib|Include/Library/BaseMemoryLib.h\r
   BaseLib|Include/Library/BaseLib.h\r
   BasePeCoffLib|Include/Library/PeCoffLib.h\r
-\r
+  \r
 ################################################################################\r
 #\r
 # Global Guid Definition section - list of Global Guid C Name Data Structures\r
index e9d0a2d..80846fe 100644 (file)
   PeiServicesLib|$(WORKSPACE)/MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
   MemoryAllocationLib|$(WORKSPACE)/MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf\r
   PeiCoreEntryPoint|$(WORKSPACE)/MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf\r
+  OldPeiCoreEntryPoint|$(WORKSPACE)/MdePkg/Library/OldPeiCoreEntryPoint/OldPeiCoreEntryPoint.inf\r
   ReportStatusCodeLib|$(WORKSPACE)/IntelFrameworkPkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf\r
   PeCoffGetEntryPointLib|$(WORKSPACE)/Nt32Pkg/Library/EdkNt32PeiPeCoffGetEntryPointLib/EdkNt32PeiPeCoffGetEntryPointLib.inf\r
  PcdLib|$(WORKSPACE)/MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
 #\r
 ################################################################################\r
 \r
-[PcdsDynamicDefault.common.DEFAULT]\r
+[PcdsDynamic.common.DEFAULT]\r
   PcdFlashNvStorageFtwSpareBase|gEfiGenericPlatformTokenSpaceGuid|0x0\r
   PcdFlashNvStorageVariableSize|gEfiGenericPlatformTokenSpaceGuid|0x0\r
   PcdWinNtCpuSpeed|gEfiNt32PkgTokenSpaceGuid|L"3000"|8\r
   $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.inf\r
 #  $(WORKSPACE)/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
 #  $(WORKSPACE)/MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
-  $(WORKSPACE)/IntelFrameworkModulePkg/Bus/Pci/PciBus/Dxe/PciBus.inf\r
+#  $(WORKSPACE)/IntelFrameworkModulePkg/Bus/Pci/PciBus/Dxe/PciBus.inf\r
   $(WORKSPACE)/IntelFrameworkModulePkg/Bus/Pci/IdeBus/Dxe/IdeBus.inf\r
   $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHub/DataHub/Dxe/DataHub.inf\r
   $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHub/DataHubStdErr/Dxe/DataHubStdErr.inf\r
   ${WORKSPACE}/MdeModulePkg/Universal/DevicePathDxe/DevicePath.inf\r
   ${WORKSPACE}/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.inf\r
   ${WORKSPACE}/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
-  ${WORKSPACE}/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsole.inf  
\ No newline at end of file
+  ${WORKSPACE}/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsole.inf  \r
index 41fc4fc..6b6a622 100644 (file)
@@ -147,7 +147,7 @@ INF  $(WORKSPACE)/MdeModulePkg/Universal/VariablePei/Variable.inf
 INF  $(WORKSPACE)/MdeModulePkg/Universal/VariableRuntimeDxe/Variable.inf\r
 INF  $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBus.inf\r
 INF  $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.inf\r
-INF  $(WORKSPACE)/IntelFrameworkModulePkg/Bus/Pci/PciBus/Dxe/PciBus.inf\r
+#INF  $(WORKSPACE)/IntelFrameworkModulePkg/Bus/Pci/PciBus/Dxe/PciBus.inf\r
 INF  $(WORKSPACE)/IntelFrameworkModulePkg/Bus/Pci/IdeBus/Dxe/IdeBus.inf\r
 INF  $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHub/DataHub/Dxe/DataHub.inf\r
 INF  $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHub/DataHubStdErr/Dxe/DataHubStdErr.inf\r
@@ -155,9 +155,11 @@ INF  $(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode
 INF  $(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf\r
 INF  $(WORKSPACE)/IntelFrameworkModulePkg/Universal/HiiDataBaseDxe/HiiDatabase.inf\r
 INF  $(WORKSPACE)/IntelFrameworkModulePkg/Universal/SetupBrowserDxe/SetupBrowser.inf\r
-#INF  $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DriverSampleDxe/DriverSample.inf\r
+INF  $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DriverSampleDxe/DriverSample.inf\r
 INF  $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBus.inf     ##This driver follows UEFI specification definition\r
 INF  $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.inf    ##This driver follows UEFI specification definition\r
+INF  $(WORKSPACE)/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
+INF  $(WORKSPACE)/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsole.inf  \r
 \r
 ################################################################################\r
 #\r