📄 ide.h
字号:
/*++
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 + -