// /** @file
// Last PEIM executed in PEI phase to load DXE Core from a Firmware Volume.
//
// This module produces a special PPI named the DXE Initial Program Load (IPL)
// PPI to discover and dispatch the DXE Foundation and components that are
// needed to run the DXE Foundation.
//
// Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "Last PEIM executed in PEI phase to load DXE Core from a Firmware Volume"

#string STR_MODULE_DESCRIPTION          #language en-US "This module produces a special PPI named the DXE Initial Program Load (IPL) PPI to discover and dispatch the DXE Foundation and components that are needed to run the DXE Foundation."

