From 5c08e1173703234cc2913757f237ee916087498a Mon Sep 17 00:00:00 2001 From: klu2 Date: Fri, 23 Jan 2009 07:24:55 +0000 Subject: Move BdsDxe and GenericBdsLib to IntelFrameworkModulePkg, these modules need dependent on gEfiLegacyBiosProtocol to provide legacy boot support. But legacy boot is not described by PI/UEFI specification. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7354 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Library/GenericBdsLib/Ipf/ShadowRom.c | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 IntelFrameworkModulePkg/Library/GenericBdsLib/Ipf/ShadowRom.c (limited to 'IntelFrameworkModulePkg/Library/GenericBdsLib/Ipf') diff --git a/IntelFrameworkModulePkg/Library/GenericBdsLib/Ipf/ShadowRom.c b/IntelFrameworkModulePkg/Library/GenericBdsLib/Ipf/ShadowRom.c new file mode 100644 index 0000000000..10e8f55c55 --- /dev/null +++ b/IntelFrameworkModulePkg/Library/GenericBdsLib/Ipf/ShadowRom.c @@ -0,0 +1,46 @@ +/** @file + Shadow all option rom + +Copyright (c) 2004 - 2008, 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. + +**/ + +#include "InternalBdsLib.h" + +UINT8 mShadowRomFlag = 0; + +/** + Shadow all opton ROM if the it is not done. +**/ +VOID +ShadowAllOptionRom( + VOID + ) +{ + EFI_STATUS Status; + EFI_LEGACY_BIOS_PROTOCOL *LegacyBios; + // + // Rom shadow only do once. + // + if (mShadowRomFlag == 0) { + Status = gBS->LocateProtocol ( + &gEfiLegacyBiosProtocolGuid, + NULL, + (VOID **) &LegacyBios + ); + if (!EFI_ERROR (Status)) { + LegacyBios->PrepareToBootEfi (LegacyBios, NULL, NULL); + } + + mShadowRomFlag = 1; + } + + return ; +} -- cgit v1.2.3