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