// /** @file
// BDSDxe module is core driver for BDS phase.
//
// When DxeCore dispatching all DXE driver, this module will produce architecture protocol
// gEfiBdsArchProtocolGuid. After DxeCore finish dispatching, DxeCore will invoke Entry
// interface of protocol gEfiBdsArchProtocolGuid, then BDS phase is entered.
//
// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT    #language en-US "BdsDxe module is core driver for BDS phase"

#string STR_MODULE_DESCRIPTION #language en-US "When DxeCore dispatching all DXE driver, this module will produce architecture protocol gEfiBdsArchProtocolGuid. After DxeCore finishes dispatching, DxeCore will invoke the Entry interface of protocol gEfiBdsArchProtocolGuid. Then BDS phase is entered."

