/** @file\r
Entry point to the DXE 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
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#include <Library/BaseLib.h>\r
\r
//\r
-// Cache copy of HobList pointer. \r
-// \r
+// Cache copy of HobList pointer.\r
+//\r
VOID *gHobList = NULL;\r
\r
/**\r
- Entry point to DXE core.\r
-\r
- This function is the entry point to the DXE Foundation. The PEI phase, which executes just before\r
- DXE, is responsible for loading and invoking the DXE Foundation in system memory. The only\r
- parameter that is passed to the DXE Foundation is HobStart. This parameter is a pointer to the\r
- HOB list that describes the system state at the hand-off to the DXE Foundation. At a minimum,\r
- this system state must include the following:\r
- - PHIT HOB\r
- - CPU HOB\r
- - Description of system memory\r
- - Description of one or more firmware volumes\r
- The DXE Foundation is also guaranteed that only one processor is running and that the processor is\r
- running with interrupts disabled. The implementation of the DXE Foundation must not make any\r
- assumptions about where the DXE Foundation will be loaded or where the stack is located. In\r
- general, the DXE Foundation should make as few assumptions about the state of the system as\r
- possible. This lack of assumptions will allow the DXE Foundation to be portable to the widest\r
- variety of system architectures.\r
- \r
- @param HobStart Pointer of HobList.\r
+ The entry point of PE/COFF Image for the DXE Core.\r
+\r
+ This function is the entry point for the DXE Core. This function is required to call\r
+ ProcessModuleEntryPointList() and ProcessModuleEntryPointList() is never expected to return.\r
+ The DXE Core is responsible for calling ProcessLibraryConstructorList() as soon as the EFI\r
+ System Table and the image handle for the DXE Core itself have been established.\r
+ If ProcessModuleEntryPointList() returns, then ASSERT() and halt the system.\r
+\r
+ @param HobStart The pointer to the beginning of the HOB List passed in from the PEI Phase.\r
\r
**/\r
VOID\r
\r
\r
/**\r
- Wrapper of entry point to DXE CORE.\r
+ Required by the EBC compiler and identical in functionality to _ModuleEntryPoint().\r
+\r
+ This function is required to call _ModuleEntryPoint() passing in HobStart.\r
\r
- @param HobStart Pointer of HobList.\r
+ @param HobStart The pointer to the beginning of the HOB List passed in from the PEI Phase.\r
\r
**/\r
VOID\r