-/*++\r
-Copyright (c) 2006, Intel Corporation \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
+/** @file\r
+ Header file for IDE Bus Driver.\r
\r
-Module Name:\r
+ Copyright (c) 2006, Intel Corporation \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
- idebus.h\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
-Abstract:\r
+**/\r
\r
- Header file for IDE Bus Driver.\r
-\r
-Revision History\r
-++*/\r
-\r
-// TODO: fix comment to end with --*/\r
#ifndef _IDE_BUS_H\r
#define _IDE_BUS_H\r
\r
\r
-#include <IndustryStandard/Pci22.h>\r
+#include <IndustryStandard/pci22.h>\r
#include "idedata.h"\r
\r
//\r
#define MAX_IDE_CHANNELS 2\r
#define MAX_IDE_DRIVES 2\r
\r
+#define INVALID_DEVICE_TYPE 0xff\r
+#define ATA_DEVICE_TYPE 0x00\r
+#define ATAPI_DEVICE_TYPE 0x01\r
+\r
typedef struct {\r
BOOLEAN HaveScannedDevice[MAX_IDE_DEVICE];\r
BOOLEAN DeviceFound[MAX_IDE_DEVICE];\r
INQUIRY_DATA *pInquiryData;\r
EFI_IDENTIFY_DATA *pIdData;\r
ATA_PIO_MODE PioMode;\r
- ATA_UDMA_MODE UDma_Mode;\r
+ EFI_ATA_MODE UdmaMode;\r
CHAR8 ModelName[41];\r
REQUEST_SENSE_DATA *SenseData;\r
UINT8 SenseDataNumber;\r
UINT8 *Cache;\r
\r
+ //\r
+ // ExitBootService Event, it is used to clear pending IDE interrupt\r
+ //\r
+ EFI_EVENT ExitBootServiceEvent;\r
+\r
EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
} IDE_BLK_IO_DEV;\r
\r
// Prototypes\r
// Driver model protocol interface\r
//\r
+/**\r
+ TODO: Add function description\r
+\r
+ @param ImageHandle TODO: add argument description\r
+ @param SystemTable TODO: add argument description\r
+\r
+ TODO: add return values\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IDEBusControllerDriverEntryPoint (\r
IN EFI_HANDLE ImageHandle,\r
IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
-/*++\r
-\r
-Routine Description:\r
+;\r
\r
+/**\r
TODO: Add function description\r
\r
-Arguments:\r
-\r
- ImageHandle - TODO: add argument description\r
- SystemTable - TODO: add argument description\r
-\r
-Returns:\r
+ @param This TODO: add argument description\r
+ @param Controller TODO: add argument description\r
+ @param RemainingDevicePath TODO: add argument description\r
\r
TODO: add return values\r
\r
---*/\r
-;\r
-\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IDEBusDriverBindingSupported (\r
IN EFI_HANDLE Controller,\r
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
)\r
-/*++\r
-\r
-Routine Description:\r
+;\r
\r
+/**\r
TODO: Add function description\r
\r
-Arguments:\r
-\r
- This - TODO: add argument description\r
- Controller - TODO: add argument description\r
- RemainingDevicePath - TODO: add argument description\r
-\r
-Returns:\r
+ @param This TODO: add argument description\r
+ @param Controller TODO: add argument description\r
+ @param RemainingDevicePath TODO: add argument description\r
\r
TODO: add return values\r
\r
---*/\r
-;\r
-\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IDEBusDriverBindingStart (\r
IN EFI_HANDLE Controller,\r
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
)\r
-/*++\r
-\r
-Routine Description:\r
+;\r
\r
+/**\r
TODO: Add function description\r
\r
-Arguments:\r
-\r
- This - TODO: add argument description\r
- Controller - TODO: add argument description\r
- RemainingDevicePath - TODO: add argument description\r
-\r
-Returns:\r
+ @param This TODO: add argument description\r
+ @param Controller TODO: add argument description\r
+ @param NumberOfChildren TODO: add argument description\r
+ @param ChildHandleBuffer TODO: add argument description\r
\r
TODO: add return values\r
\r
---*/\r
-;\r
-\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IDEBusDriverBindingStop (\r
IN UINTN NumberOfChildren,\r
IN EFI_HANDLE *ChildHandleBuffer\r
)\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
+;\r
\r
- This - TODO: add argument description\r
- Controller - TODO: add argument description\r
- NumberOfChildren - TODO: add argument description\r
- ChildHandleBuffer - TODO: add argument description\r
+//\r
+// EFI Driver Configuration Functions\r
+//\r
+EFI_STATUS\r
+IDEBusDriverConfigurationSetOptions (\r
+ IN EFI_DRIVER_CONFIGURATION_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_HANDLE ChildHandle OPTIONAL,\r
+ IN CHAR8 *Language,\r
+ OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED *ActionRequired\r
+ );\r
\r
-Returns:\r
+EFI_STATUS\r
+IDEBusDriverConfigurationOptionsValid (\r
+ IN EFI_DRIVER_CONFIGURATION_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_HANDLE ChildHandle OPTIONAL\r
+ );\r
\r
- TODO: add return values\r
+EFI_STATUS\r
+IDEBusDriverConfigurationForceDefaults (\r
+ IN EFI_DRIVER_CONFIGURATION_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_HANDLE ChildHandle OPTIONAL,\r
+ IN UINT32 DefaultType,\r
+ OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED *ActionRequired\r
+ );\r
\r
---*/\r
-;\r
+//\r
+// EFI Driver Diagnostics Functions\r
+//\r
+EFI_STATUS\r
+IDEBusDriverDiagnosticsRunDiagnostics (\r
+ IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_HANDLE ChildHandle OPTIONAL,\r
+ IN EFI_DRIVER_DIAGNOSTIC_TYPE DiagnosticType,\r
+ IN CHAR8 *Language,\r
+ OUT EFI_GUID **ErrorType,\r
+ OUT UINTN *BufferSize,\r
+ OUT CHAR16 **Buffer\r
+ );\r
\r
//\r
// Block I/O Protocol Interface\r
//\r
+/**\r
+ TODO: Add function description\r
+\r
+ @param This TODO: add argument description\r
+ @param ExtendedVerification TODO: add argument description\r
+\r
+ TODO: add return values\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IDEBlkIoReset (\r
IN EFI_BLOCK_IO_PROTOCOL *This,\r
IN BOOLEAN ExtendedVerification\r
)\r
-/*++\r
-\r
-Routine Description:\r
+;\r
\r
+/**\r
TODO: Add function description\r
\r
-Arguments:\r
-\r
- This - TODO: add argument description\r
- ExtendedVerification - TODO: add argument description\r
-\r
-Returns:\r
+ @param This 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
-;\r
-\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IDEBlkIoReadBlocks (\r
IN UINTN BufferSize,\r
OUT VOID *Buffer\r
)\r
-/*++\r
-\r
-Routine Description:\r
+;\r
\r
+/**\r
TODO: Add function description\r
\r
-Arguments:\r
-\r
- This - TODO: add argument description\r
- MediaId - TODO: add argument description\r
- LBA - TODO: add argument description\r
- BufferSize - TODO: add argument description\r
- Buffer - TODO: add argument description\r
-\r
-Returns:\r
+ @param This 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
-;\r
-\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IDEBlkIoWriteBlocks (\r
IN UINTN BufferSize,\r
IN VOID *Buffer\r
)\r
-/*++\r
-\r
-Routine Description:\r
+;\r
\r
+/**\r
TODO: Add function description\r
\r
-Arguments:\r
-\r
- This - TODO: add argument description\r
- MediaId - TODO: add argument description\r
- LBA - TODO: add argument description\r
- BufferSize - TODO: add argument description\r
- Buffer - TODO: add argument description\r
-\r
-Returns:\r
+ @param This TODO: add argument description\r
\r
TODO: add return values\r
\r
---*/\r
-;\r
-\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IDEBlkIoFlushBlocks (\r
IN EFI_BLOCK_IO_PROTOCOL *This\r
)\r
-/*++\r
-\r
-Routine Description:\r
+;\r
\r
+/**\r
TODO: Add function description\r
\r
-Arguments:\r
-\r
- This - TODO: add argument description\r
-\r
-Returns:\r
+ @param PciIo TODO: add argument description\r
+ @param Enable TODO: add argument description\r
\r
TODO: add return values\r
\r
---*/\r
-;\r
-\r
+**/\r
EFI_STATUS\r
IDERegisterDecodeEnableorDisable (\r
IN EFI_PCI_IO_PROTOCOL *PciIo,\r
IN BOOLEAN Enable\r
)\r
-/*++\r
-\r
-Routine Description:\r
+;\r
\r
+/**\r
TODO: Add function description\r
\r
-Arguments:\r
-\r
- PciIo - TODO: add argument description\r
- Enable - TODO: add argument description\r
-\r
-Returns:\r
+ @param This TODO: add argument description\r
+ @param InquiryData TODO: add argument description\r
+ @param IntquiryDataSize TODO: add argument description\r
\r
TODO: add return values\r
\r
---*/\r
-;\r
-\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IDEDiskInfoInquiry (\r
IN OUT VOID *InquiryData,\r
IN OUT UINT32 *IntquiryDataSize\r
)\r
-/*++\r
-\r
-Routine Description:\r
+;\r
\r
+/**\r
TODO: Add function description\r
\r
-Arguments:\r
-\r
- This - TODO: add argument description\r
- InquiryData - TODO: add argument description\r
- IntquiryDataSize - TODO: add argument description\r
-\r
-Returns:\r
+ @param This TODO: add argument description\r
+ @param IdentifyData TODO: add argument description\r
+ @param IdentifyDataSize TODO: add argument description\r
\r
TODO: add return values\r
\r
---*/\r
-;\r
-\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IDEDiskInfoIdentify (\r
IN OUT VOID *IdentifyData,\r
IN OUT UINT32 *IdentifyDataSize\r
)\r
-/*++\r
-\r
-Routine Description:\r
+;\r
\r
+/**\r
TODO: Add function description\r
\r
-Arguments:\r
-\r
- This - TODO: add argument description\r
- IdentifyData - TODO: add argument description\r
- IdentifyDataSize - TODO: add argument description\r
-\r
-Returns:\r
+ @param This TODO: add argument description\r
+ @param SenseData TODO: add argument description\r
+ @param SenseDataSize TODO: add argument description\r
+ @param SenseDataNumber TODO: add argument description\r
\r
TODO: add return values\r
\r
---*/\r
-;\r
-\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IDEDiskInfoSenseData (\r
IN OUT UINT32 *SenseDataSize,\r
OUT UINT8 *SenseDataNumber\r
)\r
-/*++\r
-\r
-Routine Description:\r
+;\r
\r
+/**\r
TODO: Add function description\r
\r
-Arguments:\r
-\r
- This - TODO: add argument description\r
- SenseData - TODO: add argument description\r
- SenseDataSize - TODO: add argument description\r
- SenseDataNumber - TODO: add argument description\r
-\r
-Returns:\r
+ @param This TODO: add argument description\r
+ @param IdeChannel TODO: add argument description\r
+ @param IdeDevice TODO: add argument description\r
\r
TODO: add return values\r
\r
---*/\r
-;\r
-\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IDEDiskInfoWhichIde (\r
OUT UINT32 *IdeChannel,\r
OUT UINT32 *IdeDevice\r
)\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- This - TODO: add argument description\r
- IdeChannel - TODO: add argument description\r
- IdeDevice - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
-\r
---*/\r
;\r
\r
#endif\r