]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Library/GenericBdsLib/Ipf/ShadowRom.c
e6f46ee6676441eb40c68ba46b7f2b621d3f4a32
[mirror_edk2.git] / MdeModulePkg / 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 //@MT:#include "Tiano.h"
16 //@MT:#include "EfiDriverLib.h"
17
18 //@MT:#include EFI_PROTOCOL_DEFINITION (LegacyBios)
19
20 #include "InternalBdsLib.h"
21
22 UINT8 mShadowRomFlag = 0;
23
24 VOID
25 EFIAPI
26 ShadowAllOptionRom()
27 {
28 EFI_STATUS Status;
29 EFI_LEGACY_BIOS_PROTOCOL *LegacyBios;
30 //
31 // Rom shadow only do once.
32 //
33 if (mShadowRomFlag == 0) {
34 Status = gBS->LocateProtocol (
35 &gEfiLegacyBiosProtocolGuid,
36 NULL,
37 (VOID **) &LegacyBios
38 );
39 if (!EFI_ERROR (Status)) {
40 LegacyBios->PrepareToBootEfi (LegacyBios, NULL, NULL);
41 }
42
43 mShadowRomFlag = 1;
44 }
45
46 return ;
47 }