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