⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ide.h

📁 EFI BIOS是Intel提出的下一代的BIOS标准。这里上传的Edk源代码是EFI BIOS源代码中的与平台无关部分的代码
💻 H
📖 第 1 页 / 共 3 页
字号:
/*++
Copyright (c) 2004 - 2006, 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.             

Module Name:

    ide.h

Abstract:

    Header file for IDE Bus Driver, containing the helper functions' 
    entire prototype.

Revision History

    2002-6: Add Atapi6 enhancement, support >120GB hard disk, including
            Add - IDEBlkIoReadBlocksExt() func definition
            Add - IDEBlkIoWriteBlocksExt() func definition
            
++*/

// TODO: fix comment to end with --*/
#ifndef _IDE_H
#define _IDE_H

//
// Helper functions Prototype
//
EFI_STATUS
DeRegisterIdeDevice (
  IN  EFI_DRIVER_BINDING_PROTOCOL    *This,
  IN  EFI_HANDLE                     Controller,
  IN  EFI_HANDLE                     Handle
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  This        - TODO: add argument description
  Controller  - TODO: add argument description
  Handle      - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

EFI_STATUS
EnableIdeDevice (
  IN EFI_HANDLE                          Controller,
  IN EFI_PCI_IO_PROTOCOL                 *PciIo,
  IN EFI_DEVICE_PATH_PROTOCOL            *ParentDevicePath,
  IN EFI_DEVICE_PATH_PROTOCOL            *RemainingDevicePath
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  Controller          - TODO: add argument description
  PciIo               - TODO: add argument description
  ParentDevicePath    - TODO: add argument description
  RemainingDevicePath - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

UINT8
IDEReadPortB (
  IN  EFI_PCI_IO_PROTOCOL   *PciIo,
  IN  UINT16                Port
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  PciIo - TODO: add argument description
  Port  - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

VOID
IDEReadPortWMultiple (
  IN  EFI_PCI_IO_PROTOCOL   *PciIo,
  IN  UINT16                Port,
  IN  UINTN                 Count,
  OUT  VOID                 *Buffer
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  PciIo   - TODO: add argument description
  Port    - TODO: add argument description
  Count   - TODO: add argument description
  Buffer  - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

VOID
IDEWritePortB (
  IN  EFI_PCI_IO_PROTOCOL   *PciIo,
  IN  UINT16                Port,
  IN  UINT8                 Data
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  PciIo - TODO: add argument description
  Port  - TODO: add argument description
  Data  - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

VOID
IDEWritePortW (
  IN  EFI_PCI_IO_PROTOCOL   *PciIo,
  IN  UINT16                Port,
  IN  UINT16                Data
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  PciIo - TODO: add argument description
  Port  - TODO: add argument description
  Data  - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

VOID
IDEWritePortWMultiple (
  IN  EFI_PCI_IO_PROTOCOL   *PciIo,
  IN  UINT16                Port,
  IN  UINTN                 Count,
  IN  VOID                  *Buffer
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  PciIo   - TODO: add argument description
  Port    - TODO: add argument description
  Count   - TODO: add argument description
  Buffer  - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

EFI_STATUS
GetIdeRegistersBaseAddr (
  IN  EFI_PCI_IO_PROTOCOL         *PciIo,
  OUT IDE_REGISTERS_BASE_ADDR     *IdeRegsBaseAddr
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  PciIo           - TODO: add argument description
  IdeRegsBaseAddr - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

EFI_STATUS
ReassignIdeResources (
  IN  IDE_BLK_IO_DEV  *IdeDev
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  IdeDev  - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

EFI_STATUS
DiscoverIdeDevice (
  IN IDE_BLK_IO_DEV *IdeDev
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  IdeDev  - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

EFI_STATUS
InitializeIDEChannelData (
  VOID
  )
/*++
  
  Name: InitializeIDEChannelData


  Purpose: 
      This function initializes all state data related to the detection of one
      channel.

  Parameters:


  Returns:
      EFI_SUCCESS

  Notes:
--*/
;

EFI_STATUS
DetectIDEController (
  IN  IDE_BLK_IO_DEV  *IdeDev
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  IdeDev  - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

EFI_STATUS
DRQClear (
  IN  IDE_BLK_IO_DEV  *IdeDev,
  IN  UINTN           TimeoutInMilliSeconds
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  IdeDev                - TODO: add argument description
  TimeoutInMilliSeconds - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

EFI_STATUS
DRQClear2 (
  IN  IDE_BLK_IO_DEV  *IdeDev,
  IN  UINTN           TimeoutInMilliSeconds
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  IdeDev                - TODO: add argument description
  TimeoutInMilliSeconds - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

EFI_STATUS
DRQReady (
  IN  IDE_BLK_IO_DEV  *IdeDev,
  IN  UINTN           TimeoutInMilliSeconds
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  IdeDev                - TODO: add argument description
  TimeoutInMilliSeconds - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

EFI_STATUS
DRQReady2 (
  IN  IDE_BLK_IO_DEV  *IdeDev,
  IN  UINTN           TimeoutInMilliSeconds
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  IdeDev                - TODO: add argument description
  TimeoutInMilliSeconds - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

EFI_STATUS
WaitForBSYClear (
  IN  IDE_BLK_IO_DEV  *IdeDev,
  IN  UINTN           TimeoutInMilliSeconds
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  IdeDev                - TODO: add argument description
  TimeoutInMilliSeconds - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

EFI_STATUS
WaitForBSYClear2 (
  IN  IDE_BLK_IO_DEV  *IdeDev,
  IN  UINTN           TimeoutInMilliSeconds
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  IdeDev                - TODO: add argument description
  TimeoutInMilliSeconds - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

EFI_STATUS
DRDYReady (
  IN  IDE_BLK_IO_DEV  *IdeDev,
  IN  UINTN           DelayInMilliSeconds
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  IdeDev              - TODO: add argument description
  DelayInMilliSeconds - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

EFI_STATUS
DRDYReady2 (
  IN  IDE_BLK_IO_DEV  *IdeDev,
  IN  UINTN           DelayInMilliSeconds
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  IdeDev              - TODO: add argument description
  DelayInMilliSeconds - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

VOID
SwapStringChars (
  IN CHAR8  *Destination,
  IN CHAR8  *Source,
  IN UINT32 Size
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  Destination - TODO: add argument description
  Source      - TODO: add argument description
  Size        - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

//
//  ATA device functions' prototype
//
EFI_STATUS
ATAIdentify (
  IN  IDE_BLK_IO_DEV  *IdeDev
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  IdeDev  - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

VOID
PrintAtaModuleName (
  IN  IDE_BLK_IO_DEV  *IdeDev
  )
/*++

Routine Description:

  TODO: Add function description

Arguments:

  IdeDev  - TODO: add argument description

Returns:

  TODO: add return values

--*/
;

EFI_STATUS
AtaPioDataIn (
  IN  IDE_BLK_IO_DEV  *IdeDev,
  IN  VOID            *Buffer,
  IN  UINT32          ByteCount,
  IN  UINT8           AtaCommand,
  IN  UINT8           Head,
  IN  UINT8           SectorCount,
  IN  UINT8           SectorNumber,
  IN  UINT8           CylinderLsb,
  IN  UINT8           CylinderMsb

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -