]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteDxe/Ipf/IpfFtwMisc.c
Add comments and DoxyGen format for these files.
[mirror_edk2.git] / MdeModulePkg / Universal / FirmwareVolume / FaultTolerantWriteDxe / Ipf / IpfFtwMisc.c
CommitLineData
6cc9ca32
LG
1/** @file\r
2\r
3 Ipf platform related code to support FtwLite..\r
d7dec593 4\r
6cc9ca32 5Copyright (c) 2006 - 2008, Intel Corporation \r
d7dec593 6All rights reserved. This program and the accompanying materials \r
7are licensed and made available under the terms and conditions of the BSD License \r
8which accompanies this distribution. The full text of the license may be found at \r
9http://opensource.org/licenses/bsd-license.php \r
10 \r
11THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
12WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
13\r
6cc9ca32 14**/\r
d7dec593 15\r
16\r
17#include <FtwLite.h>\r
18\r
19//\r
20// MACROs for boot block update\r
21//\r
22#define BOOT_BLOCK_BASE\r
23\r
24STATIC\r
25EFI_STATUS\r
26GetSwapState (\r
27 IN EFI_FTW_LITE_DEVICE *FtwLiteDevice,\r
28 OUT BOOLEAN *SwapState\r
29 )\r
30/*++\r
31\r
32Routine Description:\r
33\r
34 Get swap state\r
35\r
36Arguments:\r
37\r
38 FtwLiteDevice - Calling context\r
39 SwapState - Swap state\r
40\r
41Returns:\r
42\r
43 EFI_SUCCESS - State successfully got\r
44\r
45--*/\r
46{\r
47 return EFI_SUCCESS;\r
48}\r
49\r
50STATIC\r
51EFI_STATUS\r
52SetSwapState (\r
53 IN EFI_FTW_LITE_DEVICE *FtwLiteDevice,\r
54 IN BOOLEAN TopSwap\r
55 )\r
56/*++\r
57\r
58Routine Description:\r
59 Set swap state.\r
60\r
61Arguments:\r
62 FtwLiteDevice - Indicates a pointer to the calling context. \r
63 TopSwap - New swap state\r
64\r
65Returns:\r
66 EFI_SUCCESS - The function completed successfully\r
67\r
68Note:\r
69 the Top-Swap bit (bit 13, D31: F0, Offset D4h). Note that\r
70 software will not be able to clear the Top-Swap bit until the system is\r
71 rebooted without GNT[A]# being pulled down.\r
72\r
73--*/\r
74{\r
75 return EFI_SUCCESS;\r
76}\r
77\r
78BOOLEAN\r
79IsBootBlock (\r
80 EFI_FTW_LITE_DEVICE *FtwLiteDevice,\r
81 EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *FvBlock,\r
82 EFI_LBA Lba\r
83 )\r
84/*++\r
85\r
86Routine Description:\r
87\r
88 Check whether the block is a boot block.\r
89\r
90Arguments:\r
91\r
92 FtwLiteDevice - Calling context\r
93 FvBlock - Fvb protocol instance\r
94 Lba - Lba value\r
95\r
96Returns:\r
97\r
98 Is a boot block or not\r
99\r
100--*/\r
101{\r
102 //\r
103 // IPF doesn't support safe bootblock update\r
104 // so treat bootblock as normal block\r
105 //\r
106 return FALSE;\r
107}\r
108\r
109EFI_STATUS\r
110FlushSpareBlockToBootBlock (\r
111 EFI_FTW_LITE_DEVICE *FtwLiteDevice\r
112 )\r
113/*++\r
114\r
115Routine Description:\r
116 Copy the content of spare block to a boot block. Size is FTW_BLOCK_SIZE.\r
117 Spare block is accessed by FTW backup FVB protocol interface. LBA is \r
118 FtwLiteDevice->FtwSpareLba.\r
119 Boot block is accessed by BootFvb protocol interface. LBA is 0.\r
120\r
121Arguments:\r
122 FtwLiteDevice - The private data of FTW_LITE driver\r
123\r
124Returns:\r
125 EFI_SUCCESS - Spare block content is copied to boot block\r
126 EFI_INVALID_PARAMETER - Input parameter error\r
127 EFI_OUT_OF_RESOURCES - Allocate memory error\r
128 EFI_ABORTED - The function could not complete successfully\r
129\r
130Notes:\r
131\r
132--*/\r
133{\r
134 return EFI_SUCCESS;\r
135}\r