]> git.proxmox.com Git - mirror_edk2.git/blobdiff - QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.h
edk2: Remove packages moved to edk2-platforms
[mirror_edk2.git] / QuarkPlatformPkg / Platform / SpiFvbServices / FwBlockService.h
diff --git a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.h b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.h
deleted file mode 100644 (file)
index 11dcf12..0000000
+++ /dev/null
@@ -1,308 +0,0 @@
-/** @file\r
-Firmware volume block driver for SPI device\r
-\r
-Copyright (c) 2013-2015 Intel Corporation.\r
-\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-\r
-**/\r
-\r
-#ifndef _FW_BLOCK_SERVICE_H\r
-#define _FW_BLOCK_SERVICE_H\r
-\r
-\r
-#include "SpiFlashDevice.h"\r
-\r
-//\r
-// Statements that include other header files\r
-\r
-#include <Library/IoLib.h>\r
-#include <Library/HobLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/UefiLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/DevicePathLib.h>\r
-#include <Library/UefiRuntimeLib.h>\r
-#include <Library/UefiDriverEntryPoint.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/UefiRuntimeServicesTableLib.h>\r
-#include <Library/DxeServicesTableLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-\r
-#include <Guid/EventGroup.h>\r
-#include <Guid/HobList.h>\r
-#include <Guid/FirmwareFileSystem2.h>\r
-#include <Guid/SystemNvDataGuid.h>\r
-\r
-#include <Protocol/SmmBase2.h>\r
-#include <Protocol/LoadedImage.h>\r
-#include <Protocol/PlatformSmmSpiReady.h>\r
-\r
-//\r
-// Define two helper macro to extract the Capability field or Status field in FVB\r
-// bit fields\r
-//\r
-#define EFI_FVB2_CAPABILITIES (EFI_FVB2_READ_DISABLED_CAP | \\r
-                              EFI_FVB2_READ_ENABLED_CAP | \\r
-                              EFI_FVB2_WRITE_DISABLED_CAP | \\r
-                              EFI_FVB2_WRITE_ENABLED_CAP | \\r
-                              EFI_FVB2_LOCK_CAP \\r
-                              )\r
-\r
-#define EFI_FVB2_STATUS (EFI_FVB2_READ_STATUS | EFI_FVB2_WRITE_STATUS | EFI_FVB2_LOCK_STATUS)\r
-\r
-#define EFI_INTERNAL_POINTER  0x00000004\r
-#define FVB_PHYSICAL  0\r
-#define FVB_VIRTUAL   1\r
-\r
-typedef struct {\r
-  EFI_LOCK                    FvbDevLock;\r
-  UINTN                       FvBase[2];\r
-  UINTN                       FvWriteBase[2];\r
-  UINTN                       NumOfBlocks;\r
-  BOOLEAN                     WriteEnabled;\r
-  EFI_FIRMWARE_VOLUME_HEADER  VolumeHeader;\r
-} EFI_FW_VOL_INSTANCE;\r
-\r
-typedef struct {\r
-  UINT32                NumFv;\r
-  EFI_FW_VOL_INSTANCE   *FvInstance[2];\r
-  UINT8                 *FvbScratchSpace[2];\r
-  EFI_SPI_PROTOCOL      *SpiProtocol;\r
-  EFI_SPI_PROTOCOL      *SmmSpiProtocol;\r
-} ESAL_FWB_GLOBAL;\r
-\r
-//\r
-// SPI default opcode slots\r
-//\r
-#define SPI_OPCODE_JEDEC_ID_INDEX        0\r
-#define SPI_OPCODE_READ_ID_INDEX         1\r
-#define SPI_OPCODE_WRITE_S_INDEX         2\r
-#define SPI_OPCODE_WRITE_INDEX           3\r
-#define SPI_OPCODE_READ_INDEX            4\r
-#define SPI_OPCODE_ERASE_INDEX           5\r
-#define SPI_OPCODE_READ_S_INDEX          6\r
-#define SPI_OPCODE_CHIP_ERASE_INDEX      7\r
-\r
-#define SPI_ERASE_SECTOR_SIZE            SIZE_4KB  //This is the chipset requirement\r
-\r
-//\r
-// Fvb Protocol instance data\r
-//\r
-#define FVB_DEVICE_FROM_THIS(a)         CR (a, EFI_FW_VOL_BLOCK_DEVICE, FwVolBlockInstance, FVB_DEVICE_SIGNATURE)\r
-#define FVB_EXTEND_DEVICE_FROM_THIS(a)  CR (a, EFI_FW_VOL_BLOCK_DEVICE, FvbExtension, FVB_DEVICE_SIGNATURE)\r
-#define FVB_DEVICE_SIGNATURE            SIGNATURE_32 ('F', 'V', 'B', 'C')\r
-//\r
-// Device Path\r
-//\r
-#define EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE    0xff\r
-#define EfiDevicePathType(a)                  (((a)->Type) & 0x7f)\r
-#define EfiIsDevicePathEndType(a)             (EfiDevicePathType (a) == 0x7f)\r
-#define EfiIsDevicePathEndSubType(a)          ((a)->SubType == EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE)\r
-#define EfiIsDevicePathEnd(a)                 (EfiIsDevicePathEndType (a) && EfiIsDevicePathEndSubType (a))\r
-\r
-typedef struct {\r
-  MEMMAP_DEVICE_PATH        MemMapDevPath;\r
-  EFI_DEVICE_PATH_PROTOCOL  EndDevPath;\r
-} FV_DEVICE_PATH;\r
-\r
-//\r
-// UEFI Specification define FV device path format if FV provide name GUID in extension header\r
-//\r
-typedef struct {\r
-  MEDIA_FW_VOL_DEVICE_PATH    FvDevPath;\r
-  EFI_DEVICE_PATH_PROTOCOL    EndDevPath;\r
-} UEFI_FV_DEVICE_PATH;\r
-\r
-typedef struct {\r
-  UINTN                               Signature;\r
-  FV_DEVICE_PATH                      FvDevicePath;\r
-  UEFI_FV_DEVICE_PATH                 UefiFvDevicePath;\r
-  UINTN                               Instance;\r
-  EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL  FwVolBlockInstance;\r
-} EFI_FW_VOL_BLOCK_DEVICE;\r
-\r
-typedef struct {\r
-  EFI_PHYSICAL_ADDRESS        BaseAddress;\r
-  EFI_FIRMWARE_VOLUME_HEADER  FvbInfo;\r
-  //\r
-  // EFI_FV_BLOCK_MAP_ENTRY                ExtraBlockMap[n];//n=0\r
-  //\r
-  EFI_FV_BLOCK_MAP_ENTRY      End[1];\r
-} EFI_FVB_MEDIA_INFO;\r
-\r
-VOID\r
-FvbVirtualddressChangeEvent (\r
-  IN EFI_EVENT        Event,\r
-  IN VOID             *Context\r
-  );\r
-\r
-EFI_STATUS\r
-GetFvbInfo (\r
-  IN  EFI_PHYSICAL_ADDRESS              FvBaseAddress,\r
-  OUT EFI_FIRMWARE_VOLUME_HEADER        **FvbInfo\r
-  );\r
-\r
-BOOLEAN\r
-SetPlatformFvbLock (\r
-  IN UINTN                              LbaAddress\r
-  );\r
-\r
-EFI_STATUS\r
-FvbReadBlock (\r
-  IN UINTN                              Instance,\r
-  IN EFI_LBA                            Lba,\r
-  IN UINTN                              BlockOffset,\r
-  IN OUT UINTN                          *NumBytes,\r
-  IN UINT8                              *Buffer,\r
-  IN ESAL_FWB_GLOBAL                    *Global,\r
-  IN BOOLEAN                            Virtual\r
-  );\r
-\r
-EFI_STATUS\r
-FvbWriteBlock (\r
-  IN UINTN                              Instance,\r
-  IN EFI_LBA                            Lba,\r
-  IN UINTN                              BlockOffset,\r
-  IN OUT UINTN                          *NumBytes,\r
-  IN UINT8                              *Buffer,\r
-  IN ESAL_FWB_GLOBAL                    *Global,\r
-  IN BOOLEAN                            Virtual\r
-  );\r
-\r
-EFI_STATUS\r
-FvbEraseBlock (\r
-  IN UINTN                              Instance,\r
-  IN EFI_LBA                            Lba,\r
-  IN ESAL_FWB_GLOBAL                    *Global,\r
-  IN BOOLEAN                            Virtual\r
-  );\r
-\r
-EFI_STATUS\r
-FvbSetVolumeAttributes (\r
-  IN UINTN                              Instance,\r
-  IN OUT EFI_FVB_ATTRIBUTES_2             *Attributes,\r
-  IN ESAL_FWB_GLOBAL                    *Global,\r
-  IN BOOLEAN                            Virtual\r
-  );\r
-\r
-EFI_STATUS\r
-FvbGetVolumeAttributes (\r
-  IN UINTN                              Instance,\r
-  OUT EFI_FVB_ATTRIBUTES_2                *Attributes,\r
-  IN ESAL_FWB_GLOBAL                    *Global,\r
-  IN BOOLEAN                            Virtual\r
-  );\r
-\r
-EFI_STATUS\r
-FvbGetPhysicalAddress (\r
-  IN UINTN                              Instance,\r
-  OUT EFI_PHYSICAL_ADDRESS              *Address,\r
-  IN ESAL_FWB_GLOBAL                    *Global,\r
-  IN BOOLEAN                            Virtual\r
-  );\r
-\r
-EFI_STATUS\r
-FvbInitialize (\r
-  IN EFI_HANDLE                         ImageHandle,\r
-  IN EFI_SYSTEM_TABLE                   *SystemTable\r
-  );\r
-\r
-VOID\r
-FvbClassAddressChangeEvent (\r
-  IN EFI_EVENT                          Event,\r
-  IN VOID                               *Context\r
-  );\r
-\r
-EFI_STATUS\r
-FvbSpecificInitialize (\r
-  IN  ESAL_FWB_GLOBAL                   *mFvbModuleGlobal\r
-  );\r
-\r
-EFI_STATUS\r
-FvbGetLbaAddress (\r
-  IN  UINTN                             Instance,\r
-  IN  EFI_LBA                           Lba,\r
-  OUT UINTN                             *LbaAddress,\r
-  OUT UINTN                             *LbaWriteAddress,\r
-  OUT UINTN                             *LbaLength,\r
-  OUT UINTN                             *NumOfBlocks,\r
-  IN  ESAL_FWB_GLOBAL                   *Global,\r
-  IN  BOOLEAN                           Virtual\r
-  );\r
-\r
-EFI_STATUS\r
-FvbEraseCustomBlockRange (\r
-  IN UINTN                              Instance,\r
-  IN EFI_LBA                            StartLba,\r
-  IN UINTN                              OffsetStartLba,\r
-  IN EFI_LBA                            LastLba,\r
-  IN UINTN                              OffsetLastLba,\r
-  IN ESAL_FWB_GLOBAL                    *Global,\r
-  IN BOOLEAN                            Virtual\r
-  );\r
-\r
-//\r
-// Protocol APIs\r
-//\r
-EFI_STATUS\r
-EFIAPI\r
-FvbProtocolGetAttributes (\r
-  IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
-  OUT EFI_FVB_ATTRIBUTES_2                *Attributes\r
-  );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-FvbProtocolSetAttributes (\r
-  IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
-  IN OUT EFI_FVB_ATTRIBUTES_2             *Attributes\r
-  );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-FvbProtocolGetPhysicalAddress (\r
-  IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
-  OUT EFI_PHYSICAL_ADDRESS              *Address\r
-  );\r
-\r
-EFI_STATUS\r
-FvbProtocolGetBlockSize (\r
-  IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
-  IN  EFI_LBA                           Lba,\r
-  OUT UINTN                             *BlockSize,\r
-  OUT UINTN                             *NumOfBlocks\r
-  );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-FvbProtocolRead (\r
-  IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
-  IN EFI_LBA                            Lba,\r
-  IN UINTN                              Offset,\r
-  IN OUT UINTN                          *NumBytes,\r
-  IN UINT8                              *Buffer\r
-  );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-FvbProtocolWrite (\r
-  IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
-  IN EFI_LBA                            Lba,\r
-  IN UINTN                              Offset,\r
-  IN OUT UINTN                          *NumBytes,\r
-  IN UINT8                              *Buffer\r
-  );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-FvbProtocolEraseBlocks (\r
-  IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL         *This,\r
-  ...\r
-  );\r
-\r
-extern SPI_INIT_TABLE   mSpiInitTable[];\r
-\r
-#endif\r