--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+ \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+Module Name:\r
+\r
+ IpfFtwMisc.c\r
+ \r
+Abstract:\r
+ \r
+ Ipf platform related code to support FtwLite..\r
+\r
+Revision History\r
+\r
+--*/\r
+\r
+\r
+#include <FtwLite.h>\r
+\r
+//\r
+// MACROs for boot block update\r
+//\r
+#define BOOT_BLOCK_BASE\r
+\r
+STATIC\r
+EFI_STATUS\r
+GetSwapState (\r
+ IN EFI_FTW_LITE_DEVICE *FtwLiteDevice,\r
+ OUT BOOLEAN *SwapState\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Get swap state\r
+\r
+Arguments:\r
+\r
+ FtwLiteDevice - Calling context\r
+ SwapState - Swap state\r
+\r
+Returns:\r
+\r
+ EFI_SUCCESS - State successfully got\r
+\r
+--*/\r
+{\r
+ return EFI_SUCCESS;\r
+}\r
+\r
+STATIC\r
+EFI_STATUS\r
+SetSwapState (\r
+ IN EFI_FTW_LITE_DEVICE *FtwLiteDevice,\r
+ IN BOOLEAN TopSwap\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+ Set swap state.\r
+\r
+Arguments:\r
+ FtwLiteDevice - Indicates a pointer to the calling context. \r
+ TopSwap - New swap state\r
+\r
+Returns:\r
+ EFI_SUCCESS - The function completed successfully\r
+\r
+Note:\r
+ the Top-Swap bit (bit 13, D31: F0, Offset D4h). Note that\r
+ software will not be able to clear the Top-Swap bit until the system is\r
+ rebooted without GNT[A]# being pulled down.\r
+\r
+--*/\r
+{\r
+ return EFI_SUCCESS;\r
+}\r
+\r
+BOOLEAN\r
+IsBootBlock (\r
+ EFI_FTW_LITE_DEVICE *FtwLiteDevice,\r
+ EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *FvBlock,\r
+ EFI_LBA Lba\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Check whether the block is a boot block.\r
+\r
+Arguments:\r
+\r
+ FtwLiteDevice - Calling context\r
+ FvBlock - Fvb protocol instance\r
+ Lba - Lba value\r
+\r
+Returns:\r
+\r
+ Is a boot block or not\r
+\r
+--*/\r
+{\r
+ //\r
+ // IPF doesn't support safe bootblock update\r
+ // so treat bootblock as normal block\r
+ //\r
+ return FALSE;\r
+}\r
+\r
+EFI_STATUS\r
+FlushSpareBlockToBootBlock (\r
+ EFI_FTW_LITE_DEVICE *FtwLiteDevice\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+ Copy the content of spare block to a boot block. Size is FTW_BLOCK_SIZE.\r
+ Spare block is accessed by FTW backup FVB protocol interface. LBA is \r
+ FtwLiteDevice->FtwSpareLba.\r
+ Boot block is accessed by BootFvb protocol interface. LBA is 0.\r
+\r
+Arguments:\r
+ FtwLiteDevice - The private data of FTW_LITE driver\r
+\r
+Returns:\r
+ EFI_SUCCESS - Spare block content is copied to boot block\r
+ EFI_INVALID_PARAMETER - Input parameter error\r
+ EFI_OUT_OF_RESOURCES - Allocate memory error\r
+ EFI_ABORTED - The function could not complete successfully\r
+\r
+Notes:\r
+\r
+--*/\r
+{\r
+ return EFI_SUCCESS;\r
+}\r