]>
Commit | Line | Data |
---|---|---|
93e3992d | 1 | /** @file |
2 | ||
3 | Copyright (c) 2004, Intel Corporation | |
4 | All rights reserved. This program and the accompanying materials | |
5 | are licensed and made available under the terms and conditions of the BSD License | |
6 | which accompanies this distribution. The full text of the license may be found at | |
7 | http://opensource.org/licenses/bsd-license.php | |
8 | ||
9 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
10 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
11 | ||
12 | Module Name: | |
13 | ||
14 | ShadowRom.c | |
15 | ||
16 | Abstract: | |
17 | ||
18 | Shadow all option rom | |
19 | ||
20 | Revision History | |
21 | ||
22 | ||
23 | **/ | |
24 | ||
25 | //@MT:#include "Tiano.h" | |
26 | //@MT:#include "EfiDriverLib.h" | |
27 | ||
28 | //@MT:#include EFI_PROTOCOL_DEFINITION (LegacyBios) | |
29 | ||
30 | #include "InternalBdsLib.h" | |
31 | ||
32 | UINT8 mShadowRomFlag = 0; | |
33 | ||
34 | VOID | |
35 | ShadowAllOptionRom() | |
36 | { | |
37 | EFI_STATUS Status; | |
38 | EFI_LEGACY_BIOS_PROTOCOL *LegacyBios; | |
39 | // | |
40 | // Rom shadow only do once. | |
41 | // | |
42 | if (mShadowRomFlag == 0) { | |
43 | Status = gBS->LocateProtocol ( | |
44 | &gEfiLegacyBiosProtocolGuid, | |
45 | NULL, | |
46 | (VOID **) &LegacyBios | |
47 | ); | |
48 | if (!EFI_ERROR (Status)) { | |
49 | LegacyBios->PrepareToBootEfi (LegacyBios, NULL, NULL); | |
50 | } | |
51 | ||
52 | mShadowRomFlag = 1; | |
53 | } | |
54 | ||
55 | return ; | |
56 | } |