]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFrameworkModulePkg/Library/GenericBdsLib/Ipf/ShadowRom.c
Move BdsDxe and GenericBdsLib to IntelFrameworkModulePkg, these modules need dependen...
[mirror_edk2.git] / IntelFrameworkModulePkg / Library / GenericBdsLib / Ipf / ShadowRom.c
1 /** @file
2 Shadow all option rom
3
4 Copyright (c) 2004 - 2008, Intel Corporation. <BR>
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #include "InternalBdsLib.h"
16
17 UINT8 mShadowRomFlag = 0;
18
19 /**
20 Shadow all opton ROM if the it is not done.
21 **/
22 VOID
23 ShadowAllOptionRom(
24 VOID
25 )
26 {
27 EFI_STATUS Status;
28 EFI_LEGACY_BIOS_PROTOCOL *LegacyBios;
29 //
30 // Rom shadow only do once.
31 //
32 if (mShadowRomFlag == 0) {
33 Status = gBS->LocateProtocol (
34 &gEfiLegacyBiosProtocolGuid,
35 NULL,
36 (VOID **) &LegacyBios
37 );
38 if (!EFI_ERROR (Status)) {
39 LegacyBios->PrepareToBootEfi (LegacyBios, NULL, NULL);
40 }
41
42 mShadowRomFlag = 1;
43 }
44
45 return ;
46 }