]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Protocol/IdeControllerInit.h
Update revision reference tag.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Protocol / IdeControllerInit.h
index 1f8b51589f7549720a353582cf131db8f8dc4892..dd6c3f4cca814ccdcf6050fad2e8b1748b557f32 100644 (file)
@@ -1,5 +1,13 @@
 /** @file\r
   This file declares EFI IDE Controller Init Protocol\r
 /** @file\r
   This file declares EFI IDE Controller Init Protocol\r
+  The EFI_IDE_CONTROLLER_INIT_PROTOCOL provides the chipset-specific information to\r
+  the IDE bus driver. This protocol is mandatory for IDE controllers if the IDE devices behind the\r
+  controller are to be enumerated by an IDE bus driver.\r
+  There can only be one instance of EFI_IDE_CONTROLLER_INIT_PROTOCOL for each IDE\r
+  controller in a system. It is installed on the handle that corresponds to the IDE controller. An IDE\r
+  bus driver that wishes to manage an IDE bus and possibly IDE devices in a system will have to\r
+  retrieve the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance that is associated with the\r
+  controller to be managed.\r
 \r
   Copyright (c) 2007, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
 \r
   Copyright (c) 2007, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
 \r
   @par Revision Reference:\r
   This Protocol is defined in IDE Controller Initialization Protocol Specification\r
 \r
   @par Revision Reference:\r
   This Protocol is defined in IDE Controller Initialization Protocol Specification\r
-  Version 0.9\r
+  Version 0.9.\r
 \r
 **/\r
 \r
 #ifndef _EFI_IDE_CONTROLLER_INIT_PROTOCOL_H_\r
 #define _EFI_IDE_CONTROLLER_INIT_PROTOCOL_H_\r
 \r
 \r
 **/\r
 \r
 #ifndef _EFI_IDE_CONTROLLER_INIT_PROTOCOL_H_\r
 #define _EFI_IDE_CONTROLLER_INIT_PROTOCOL_H_\r
 \r
+#include <PiDxe.h>\r
+\r
 //\r
 // Global ID for the EFI Platform IDE Protocol GUID\r
 //\r
 //\r
 // Global ID for the EFI Platform IDE Protocol GUID\r
 //\r
@@ -168,10 +178,17 @@ typedef struct {
   UINT16  command_set_feature_enb_86; // word 86\r
   UINT16  command_set_feature_default; // word 87\r
   UINT16  ultra_dma_mode; // word 88\r
   UINT16  command_set_feature_enb_86; // word 86\r
   UINT16  command_set_feature_default; // word 87\r
   UINT16  ultra_dma_mode; // word 88\r
-  UINT16  reserved_89_127[39];\r
+  UINT16  reserved_89_105[17];\r
+  UINT16  phy_logic_sector_support; // word 106\r
+  UINT16  reserved_107_116[10];\r
+  UINT16  logic_sector_size_lo; // word 117\r
+  UINT16  logic_sector_size_hi; // word 118\r
+  UINT16  reserved_119_127[9];\r
   UINT16  security_status;\r
   UINT16  vendor_data_129_159[31];\r
   UINT16  security_status;\r
   UINT16  vendor_data_129_159[31];\r
-  UINT16  reserved_160_255[96];\r
+  UINT16  reserved_160_208[49];\r
+  UINT16  alignment_logic_in_phy_blocks; // word 209\r
+  UINT16  reserved_210_255[46];\r
 } EFI_ATA_IDENTIFY_DATA;\r
 \r
 #pragma pack()\r
 } EFI_ATA_IDENTIFY_DATA;\r
 \r
 #pragma pack()\r
@@ -276,7 +293,7 @@ typedef union {
 **/\r
 typedef\r
 EFI_STATUS\r
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_IDE_CONTROLLER_GET_CHANNEL_INFO) (\r
+(EFIAPI *EFI_IDE_CONTROLLER_GET_CHANNEL_INFO)(\r
   IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
   IN  UINT8                           Channel,\r
   OUT BOOLEAN                         *Enabled,\r
   IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
   IN  UINT8                           Channel,\r
   OUT BOOLEAN                         *Enabled,\r
@@ -299,7 +316,7 @@ EFI_STATUS
 **/\r
 typedef\r
 EFI_STATUS\r
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_IDE_CONTROLLER_NOTIFY_PHASE) (\r
+(EFIAPI *EFI_IDE_CONTROLLER_NOTIFY_PHASE)(\r
   IN EFI_IDE_CONTROLLER_INIT_PROTOCOL  *This,\r
   IN EFI_IDE_CONTROLLER_ENUM_PHASE     Phase,\r
   IN UINT8                             Channel\r
   IN EFI_IDE_CONTROLLER_INIT_PROTOCOL  *This,\r
   IN EFI_IDE_CONTROLLER_ENUM_PHASE     Phase,\r
   IN UINT8                             Channel\r
@@ -320,7 +337,7 @@ EFI_STATUS
 **/\r
 typedef\r
 EFI_STATUS\r
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_IDE_CONTROLLER_SUBMIT_DATA) (\r
+(EFIAPI *EFI_IDE_CONTROLLER_SUBMIT_DATA)(\r
   IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
   IN  UINT8                           Channel,\r
   IN  UINT8                           Device,\r
   IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
   IN  UINT8                           Channel,\r
   IN  UINT8                           Device,\r
@@ -338,12 +355,13 @@ EFI_STATUS
 \r
   @retval EFI_SUCCESS           The modes were accepted without any errors.\r
   @retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).\r
 \r
   @retval EFI_SUCCESS           The modes were accepted without any errors.\r
   @retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).\r
-                                Or Device is invalid.\r
+                                Or Device is invalid, \r
+                                Or IdentifyData is NULL.\r
 \r
 **/\r
 typedef\r
 EFI_STATUS\r
 \r
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_IDE_CONTROLLER_DISQUALIFY_MODE) (\r
+(EFIAPI *EFI_IDE_CONTROLLER_DISQUALIFY_MODE)(\r
   IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
   IN  UINT8                           Channel,\r
   IN  UINT8                           Device,\r
   IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
   IN  UINT8                           Channel,\r
   IN  UINT8                           Device,\r
@@ -366,7 +384,7 @@ EFI_STATUS
 **/\r
 typedef\r
 EFI_STATUS\r
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_IDE_CONTROLLER_CALCULATE_MODE) (\r
+(EFIAPI *EFI_IDE_CONTROLLER_CALCULATE_MODE)(\r
   IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
   IN  UINT8                           Channel,\r
   IN  UINT8                           Device,\r
   IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
   IN  UINT8                           Channel,\r
   IN  UINT8                           Device,\r
@@ -392,7 +410,7 @@ EFI_STATUS
 **/\r
 typedef\r
 EFI_STATUS\r
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_IDE_CONTROLLER_SET_TIMING) (\r
+(EFIAPI *EFI_IDE_CONTROLLER_SET_TIMING)(\r
   IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
   IN  UINT8                           Channel,\r
   IN  UINT8                           Device,\r
   IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This,\r
   IN  UINT8                           Channel,\r
   IN  UINT8                           Device,\r