+++ /dev/null
-/** @file\r
- Header file for IDE Bus Driver, containing the helper functions'\r
- entire prototype.\r
-\r
- Copyright (c) 2006 - 2007 Intel Corporation. <BR>\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
- @par Revision Reference:\r
- 2002-6: Add Atapi6 enhancement, support >120GB hard disk, including\r
- Add - IDEBlkIoReadBlocksExt() func definition\r
- Add - IDEBlkIoWriteBlocksExt() func definition\r
-\r
-**/\r
-\r
-#ifndef _IDE_H\r
-#define _IDE_H\r
-\r
-//\r
-// Helper functions Prototype\r
-//\r
-/**\r
- TODO: Add function description\r
-\r
- @param This TODO: add argument description\r
- @param Controller TODO: add argument description\r
- @param Handle TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-DeRegisterIdeDevice (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Controller,\r
- IN EFI_HANDLE Handle\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param Controller TODO: add argument description\r
- @param PciIo TODO: add argument description\r
- @param ParentDevicePath TODO: add argument description\r
- @param RemainingDevicePath TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-EnableIdeDevice (\r
- IN EFI_HANDLE Controller,\r
- IN EFI_PCI_IO_PROTOCOL *PciIo,\r
- IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param PciIo TODO: add argument description\r
- @param Port TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-UINT8\r
-IDEReadPortB (\r
- IN EFI_PCI_IO_PROTOCOL *PciIo,\r
- IN UINT16 Port\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param PciIo TODO: add argument description\r
- @param Port TODO: add argument description\r
- @param Count TODO: add argument description\r
- @param Buffer TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-VOID\r
-IDEReadPortWMultiple (\r
- IN EFI_PCI_IO_PROTOCOL *PciIo,\r
- IN UINT16 Port,\r
- IN UINTN Count,\r
- OUT VOID *Buffer\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param PciIo TODO: add argument description\r
- @param Port TODO: add argument description\r
- @param Data TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-VOID\r
-IDEWritePortB (\r
- IN EFI_PCI_IO_PROTOCOL *PciIo,\r
- IN UINT16 Port,\r
- IN UINT8 Data\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param PciIo TODO: add argument description\r
- @param Port TODO: add argument description\r
- @param Data TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-VOID\r
-IDEWritePortW (\r
- IN EFI_PCI_IO_PROTOCOL *PciIo,\r
- IN UINT16 Port,\r
- IN UINT16 Data\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param PciIo TODO: add argument description\r
- @param Port TODO: add argument description\r
- @param Count TODO: add argument description\r
- @param Buffer TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-VOID\r
-IDEWritePortWMultiple (\r
- IN EFI_PCI_IO_PROTOCOL *PciIo,\r
- IN UINT16 Port,\r
- IN UINTN Count,\r
- IN VOID *Buffer\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param PciIo TODO: add argument description\r
- @param IdeRegsBaseAddr TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-GetIdeRegistersBaseAddr (\r
- IN EFI_PCI_IO_PROTOCOL *PciIo,\r
- OUT IDE_REGISTERS_BASE_ADDR *IdeRegsBaseAddr\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-ReassignIdeResources (\r
- IN IDE_BLK_IO_DEV *IdeDev\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-DiscoverIdeDevice (\r
- IN IDE_BLK_IO_DEV *IdeDev\r
- )\r
-;\r
-\r
-/**\r
- This interface is used to initialize all state data related to the\r
- detection of one channel.\r
-\r
- @retval EFI_SUCCESS Completed successfully.\r
-\r
-**/\r
-EFI_STATUS\r
-InitializeIDEChannelData (\r
- VOID\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-DetectIDEController (\r
- IN IDE_BLK_IO_DEV *IdeDev\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param TimeoutInMilliSeconds TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-DRQClear (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN UINTN TimeoutInMilliSeconds\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param TimeoutInMilliSeconds TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-DRQClear2 (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN UINTN TimeoutInMilliSeconds\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param TimeoutInMilliSeconds TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-DRQReady (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN UINTN TimeoutInMilliSeconds\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param TimeoutInMilliSeconds TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-DRQReady2 (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN UINTN TimeoutInMilliSeconds\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param TimeoutInMilliSeconds TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-WaitForBSYClear (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN UINTN TimeoutInMilliSeconds\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param TimeoutInMilliSeconds TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-WaitForBSYClear2 (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN UINTN TimeoutInMilliSeconds\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param DelayInMilliSeconds TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-DRDYReady (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN UINTN DelayInMilliSeconds\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param DelayInMilliSeconds TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-DRDYReady2 (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN UINTN DelayInMilliSeconds\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param Destination TODO: add argument description\r
- @param Source TODO: add argument description\r
- @param Size TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-VOID\r
-SwapStringChars (\r
- IN CHAR8 *Destination,\r
- IN CHAR8 *Source,\r
- IN UINT32 Size\r
- )\r
-;\r
-\r
-//\r
-// ATA device functions' prototype\r
-//\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-ATAIdentify (\r
- IN IDE_BLK_IO_DEV *IdeDev\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-VOID\r
-PrintAtaModuleName (\r
- IN IDE_BLK_IO_DEV *IdeDev\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param Buffer TODO: add argument description\r
- @param ByteCount TODO: add argument description\r
- @param AtaCommand TODO: add argument description\r
- @param Head TODO: add argument description\r
- @param SectorCount TODO: add argument description\r
- @param SectorNumber TODO: add argument description\r
- @param CylinderLsb TODO: add argument description\r
- @param CylinderMsb TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaPioDataIn (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN VOID *Buffer,\r
- IN UINT32 ByteCount,\r
- IN UINT8 AtaCommand,\r
- IN UINT8 Head,\r
- IN UINT8 SectorCount,\r
- IN UINT8 SectorNumber,\r
- IN UINT8 CylinderLsb,\r
- IN UINT8 CylinderMsb\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param Buffer TODO: add argument description\r
- @param ByteCount TODO: add argument description\r
- @param AtaCommand TODO: add argument description\r
- @param Head TODO: add argument description\r
- @param SectorCount TODO: add argument description\r
- @param SectorNumber TODO: add argument description\r
- @param CylinderLsb TODO: add argument description\r
- @param CylinderMsb TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaPioDataOut (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN VOID *Buffer,\r
- IN UINT32 ByteCount,\r
- IN UINT8 AtaCommand,\r
- IN UINT8 Head,\r
- IN UINT8 SectorCount,\r
- IN UINT8 SectorNumber,\r
- IN UINT8 CylinderLsb,\r
- IN UINT8 CylinderMsb\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-CheckErrorStatus (\r
- IN IDE_BLK_IO_DEV *IdeDev\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param DataBuffer TODO: add argument description\r
- @param Lba TODO: add argument description\r
- @param NumberOfBlocks TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaReadSectors (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN VOID *DataBuffer,\r
- IN EFI_LBA Lba,\r
- IN UINTN NumberOfBlocks\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param BufferData TODO: add argument description\r
- @param Lba TODO: add argument description\r
- @param NumberOfBlocks TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaWriteSectors (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN VOID *BufferData,\r
- IN EFI_LBA Lba,\r
- IN UINTN NumberOfBlocks\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaSoftReset (\r
- IN IDE_BLK_IO_DEV *IdeDev\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeBlkIoDevice TODO: add argument description\r
- @param MediaId TODO: add argument description\r
- @param LBA TODO: add argument description\r
- @param BufferSize TODO: add argument description\r
- @param Buffer TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaBlkIoReadBlocks (\r
- IN IDE_BLK_IO_DEV *IdeBlkIoDevice,\r
- IN UINT32 MediaId,\r
- IN EFI_LBA LBA,\r
- IN UINTN BufferSize,\r
- OUT VOID *Buffer\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeBlkIoDevice TODO: add argument description\r
- @param MediaId TODO: add argument description\r
- @param LBA TODO: add argument description\r
- @param BufferSize TODO: add argument description\r
- @param Buffer TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaBlkIoWriteBlocks (\r
- IN IDE_BLK_IO_DEV *IdeBlkIoDevice,\r
- IN UINT32 MediaId,\r
- IN EFI_LBA LBA,\r
- IN UINTN BufferSize,\r
- OUT VOID *Buffer\r
- )\r
-;\r
-\r
-//\r
-// ATAPI device functions' prototype\r
-//\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-ATAPIIdentify (\r
- IN IDE_BLK_IO_DEV *IdeDev\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtapiInquiry (\r
- IN IDE_BLK_IO_DEV *IdeDev\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param Packet TODO: add argument description\r
- @param Buffer TODO: add argument description\r
- @param ByteCount TODO: add argument description\r
- @param TimeOut TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtapiPacketCommandIn (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN ATAPI_PACKET_COMMAND *Packet,\r
- IN UINT16 *Buffer,\r
- IN UINT32 ByteCount,\r
- IN UINTN TimeOut\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param Packet TODO: add argument description\r
- @param Buffer TODO: add argument description\r
- @param ByteCount TODO: add argument description\r
- @param TimeOut TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtapiPacketCommandOut (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN ATAPI_PACKET_COMMAND *Packet,\r
- IN UINT16 *Buffer,\r
- IN UINT32 ByteCount,\r
- IN UINTN TimeOut\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param Buffer TODO: add argument description\r
- @param ByteCount TODO: add argument description\r
- @param Read TODO: add argument description\r
- @param TimeOut TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-PioReadWriteData (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN UINT16 *Buffer,\r
- IN UINT32 ByteCount,\r
- IN BOOLEAN Read,\r
- IN UINTN TimeOut\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param IdeDev TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtapiTestUnitReady (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- OUT UINTN *SenseCount\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param SenseCounts TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtapiRequestSense (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- OUT UINTN *SenseCounts\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param IdeDev TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtapiReadCapacity (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- OUT UINTN *SenseCount\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param MediaChange TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtapiDetectMedia (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- OUT BOOLEAN *MediaChange\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param Buffer TODO: add argument description\r
- @param Lba TODO: add argument description\r
- @param NumberOfBlocks TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtapiReadSectors (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN VOID *Buffer,\r
- IN EFI_LBA Lba,\r
- IN UINTN NumberOfBlocks\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param Buffer TODO: add argument description\r
- @param Lba TODO: add argument description\r
- @param NumberOfBlocks TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtapiWriteSectors (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN VOID *Buffer,\r
- IN EFI_LBA Lba,\r
- IN UINTN NumberOfBlocks\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtapiSoftReset (\r
- IN IDE_BLK_IO_DEV *IdeDev\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeBlkIoDevice TODO: add argument description\r
- @param MediaId TODO: add argument description\r
- @param LBA TODO: add argument description\r
- @param BufferSize TODO: add argument description\r
- @param Buffer TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtapiBlkIoReadBlocks (\r
- IN IDE_BLK_IO_DEV *IdeBlkIoDevice,\r
- IN UINT32 MediaId,\r
- IN EFI_LBA LBA,\r
- IN UINTN BufferSize,\r
- OUT VOID *Buffer\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeBlkIoDevice TODO: add argument description\r
- @param MediaId TODO: add argument description\r
- @param LBA TODO: add argument description\r
- @param BufferSize TODO: add argument description\r
- @param Buffer TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtapiBlkIoWriteBlocks (\r
- IN IDE_BLK_IO_DEV *IdeBlkIoDevice,\r
- IN UINT32 MediaId,\r
- IN EFI_LBA LBA,\r
- IN UINTN BufferSize,\r
- OUT VOID *Buffer\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param SenseCount TODO: add argument description\r
- @param Result TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-ParseSenseData (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN UINTN SenseCount,\r
- OUT SENSE_RESULT *Result\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtapiReadPendingData (\r
- IN IDE_BLK_IO_DEV *IdeDev\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param WriteProtected TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-IsLS120orZipWriteProtected (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- OUT BOOLEAN *WriteProtected\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeBlkIoDevice TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-VOID\r
-ReleaseIdeResources (\r
- IN IDE_BLK_IO_DEV *IdeBlkIoDevice\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param TransferMode TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-SetDeviceTransferMode (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN ATA_TRANSFER_MODE *TransferMode\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param NativeMaxAddress TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-ReadNativeMaxAddress (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- OUT EFI_LBA *NativeMaxAddress\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param MaxAddress TODO: add argument description\r
- @param bVolatile TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-SetMaxAddress (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN EFI_LBA MaxAddress,\r
- IN BOOLEAN bVolatile\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param AtaCommand TODO: add argument description\r
- @param Device TODO: add argument description\r
- @param Feature TODO: add argument description\r
- @param SectorCount TODO: add argument description\r
- @param LbaLow TODO: add argument description\r
- @param LbaMiddle TODO: add argument description\r
- @param LbaHigh TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaNonDataCommandIn (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN UINT8 AtaCommand,\r
- IN UINT8 Device,\r
- IN UINT8 Feature,\r
- IN UINT8 SectorCount,\r
- IN UINT8 LbaLow,\r
- IN UINT8 LbaMiddle,\r
- IN UINT8 LbaHigh\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param AtaCommand TODO: add argument description\r
- @param Device TODO: add argument description\r
- @param Feature TODO: add argument description\r
- @param SectorCount TODO: add argument description\r
- @param LbaAddress TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaNonDataCommandInExt (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN UINT8 AtaCommand,\r
- IN UINT8 Device,\r
- IN UINT16 Feature,\r
- IN UINT16 SectorCount,\r
- IN EFI_LBA LbaAddress\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param DataBuffer TODO: add argument description\r
- @param StartLba TODO: add argument description\r
- @param NumberOfBlocks TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaReadSectorsExt (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN VOID *DataBuffer,\r
- IN EFI_LBA StartLba,\r
- IN UINTN NumberOfBlocks\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param DataBuffer TODO: add argument description\r
- @param StartLba TODO: add argument description\r
- @param NumberOfBlocks TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaWriteSectorsExt (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN VOID *DataBuffer,\r
- IN EFI_LBA StartLba,\r
- IN UINTN NumberOfBlocks\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param DataBuffer TODO: add argument description\r
- @param StartLba TODO: add argument description\r
- @param NumberOfBlocks TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaUdmaReadExt (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN VOID *DataBuffer,\r
- IN EFI_LBA StartLba,\r
- IN UINTN NumberOfBlocks\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param DataBuffer TODO: add argument description\r
- @param StartLba TODO: add argument description\r
- @param NumberOfBlocks TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaUdmaRead (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN VOID *DataBuffer,\r
- IN EFI_LBA StartLba,\r
- IN UINTN NumberOfBlocks\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param DataBuffer TODO: add argument description\r
- @param StartLba TODO: add argument description\r
- @param NumberOfBlocks TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaUdmaWriteExt (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN VOID *DataBuffer,\r
- IN EFI_LBA StartLba,\r
- IN UINTN NumberOfBlocks\r
- )\r
-;\r
-\r
-/**\r
- Perform an ATA Udma operation (Read, ReadExt, Write, WriteExt).\r
- \r
- @param[in] *IdeDev\r
- pointer pointing to IDE_BLK_IO_DEV data structure, used\r
- to record all the information of the IDE device.\r
-\r
- @param[in] *DataBuffer\r
- A pointer to the source buffer for the data.\r
-\r
- @param[in] StartLba\r
- The starting logical block address to write to\r
- on the device media.\r
-\r
- @param[in] NumberOfBlocks\r
- The number of transfer data blocks.\r
- \r
- @param[in] UdmaOp\r
- The perform operations could be AtaUdmaReadOp, AtaUdmaReadExOp,\r
- AtaUdmaWriteOp, AtaUdmaWriteExOp\r
-\r
- @return The device status of UDMA operation. If the operation is\r
- successful, return EFI_SUCCESS.\r
-\r
-**/\r
-EFI_STATUS\r
-DoAtaUdma (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN VOID *DataBuffer,\r
- IN EFI_LBA StartLba,\r
- IN UINTN NumberOfBlocks,\r
- IN ATA_UDMA_OPERATION UdmaOp\r
- )\r
-;\r
-\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param DataBuffer TODO: add argument description\r
- @param StartLba TODO: add argument description\r
- @param NumberOfBlocks TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaUdmaWrite (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN VOID *DataBuffer,\r
- IN EFI_LBA StartLba,\r
- IN UINTN NumberOfBlocks\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param AtaCommand TODO: add argument description\r
- @param Device TODO: add argument description\r
- @param Feature TODO: add argument description\r
- @param SectorCount TODO: add argument description\r
- @param LbaAddress TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaCommandIssueExt (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN UINT8 AtaCommand,\r
- IN UINT8 Device,\r
- IN UINT16 Feature,\r
- IN UINT16 SectorCount,\r
- IN EFI_LBA LbaAddress\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param AtaCommand TODO: add argument description\r
- @param Device TODO: add argument description\r
- @param Feature TODO: add argument description\r
- @param SectorCount TODO: add argument description\r
- @param LbaAddress TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaCommandIssue (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN UINT8 AtaCommand,\r
- IN UINT8 Device,\r
- IN UINT16 Feature,\r
- IN UINT16 SectorCount,\r
- IN EFI_LBA LbaAddress\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaAtapi6Identify (\r
- IN IDE_BLK_IO_DEV *IdeDev\r
- )\r
-;\r
-\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-VOID\r
-AtaSMARTSupport (\r
- IN IDE_BLK_IO_DEV *IdeDev\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param Buffer TODO: add argument description\r
- @param ByteCount TODO: add argument description\r
- @param AtaCommand TODO: add argument description\r
- @param StartLba TODO: add argument description\r
- @param SectorCount TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaPioDataInExt (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN OUT VOID *Buffer,\r
- IN UINT32 ByteCount,\r
- IN UINT8 AtaCommand,\r
- IN EFI_LBA StartLba,\r
- IN UINT16 SectorCount\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param Buffer TODO: add argument description\r
- @param ByteCount TODO: add argument description\r
- @param AtaCommand TODO: add argument description\r
- @param StartLba TODO: add argument description\r
- @param SectorCount TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-AtaPioDataOutExt (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN VOID *Buffer,\r
- IN UINT32 ByteCount,\r
- IN UINT8 AtaCommand,\r
- IN EFI_LBA StartLba,\r
- IN UINT16 SectorCount\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
- @param DriveParameters TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-SetDriveParameters (\r
- IN IDE_BLK_IO_DEV *IdeDev,\r
- IN ATA_DRIVE_PARMS *DriveParameters\r
- )\r
-;\r
-\r
-/**\r
- TODO: Add function description\r
-\r
- @param IdeDev TODO: add argument description\r
-\r
- TODO: add return values\r
-\r
-**/\r
-EFI_STATUS\r
-EnableInterrupt (\r
- IN IDE_BLK_IO_DEV *IdeDev\r
- )\r
-;\r
-\r
-/**\r
- Clear pending IDE interrupt before OS loader/kernel take control of the IDE device.\r
-\r
- @param[in] Event Pointer to this event\r
- @param[in] Context Event hanlder private data\r
-\r
- @retval EFI_SUCCESS - Interrupt cleared\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-ClearInterrupt (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
- )\r
-;\r
-\r
-#endif\r