10#ifndef _SATA_CONTROLLER_H_
11#define _SATA_CONTROLLER_H_
38#define AHCI_BAR_INDEX 0x05
40#define B_AHCI_CAP_NPS (BIT4 | BIT3 | BIT2 | BIT1 | BIT0)
41#define B_AHCI_CAP_SPM BIT17
47#define AHCI_MAX_DEVICES 0x01
52#define AHCI_MULTI_MAX_DEVICES 0x0F
57#define IDE_MAX_CHANNEL 0x02
62#define IDE_MAX_DEVICES 0x02
64#define SATA_ENUMER_ALL FALSE
69#define SATA_CONTROLLER_SIGNATURE SIGNATURE_32('S','A','T','A')
103 BOOLEAN *IdentifyValid;
109 BOOLEAN PciAttributesChanged;
114 UINT64 OriginalPciAttributes;
117#define SATA_CONTROLLER_PRIVATE_DATA_FROM_THIS(a) CR(a, EFI_SATA_CONTROLLER_PRIVATE_DATA, IdeInit, SATA_CONTROLLER_SIGNATURE)
234 OUT BOOLEAN *Enabled,
235 OUT UINT8 *MaxDevices
493 OUT CHAR16 **DriverName
543 OUT CHAR16 **ControllerName
EFI_IDE_CONTROLLER_ENUM_PHASE
EFI_STATUS EFIAPI SataControllerSupported(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
EFI_STATUS EFIAPI IdeInitNotifyPhase(IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, IN EFI_IDE_CONTROLLER_ENUM_PHASE Phase, IN UINT8 Channel)
EFI_STATUS EFIAPI SataControllerComponentNameGetControllerName(IN EFI_COMPONENT_NAME_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle OPTIONAL, IN CHAR8 *Language, OUT CHAR16 **ControllerName)
EFI_STATUS EFIAPI IdeInitSubmitData(IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, IN UINT8 Channel, IN UINT8 Device, IN EFI_IDENTIFY_DATA *IdentifyData)
EFI_STATUS EFIAPI IdeInitSetTiming(IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, IN UINT8 Channel, IN UINT8 Device, IN EFI_ATA_COLLECTIVE_MODE *Modes)
EFI_COMPONENT_NAME_PROTOCOL gSataControllerComponentName
EFI_STATUS EFIAPI SataControllerComponentNameGetDriverName(IN EFI_COMPONENT_NAME_PROTOCOL *This, IN CHAR8 *Language, OUT CHAR16 **DriverName)
EFI_DRIVER_BINDING_PROTOCOL gSataControllerDriverBinding
EFI_COMPONENT_NAME2_PROTOCOL gSataControllerComponentName2
EFI_STATUS EFIAPI SataControllerStop(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer)
EFI_STATUS EFIAPI IdeInitGetChannelInfo(IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, IN UINT8 Channel, OUT BOOLEAN *Enabled, OUT UINT8 *MaxDevices)
EFI_STATUS EFIAPI SataControllerStart(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
EFI_STATUS EFIAPI IdeInitDisqualifyMode(IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, IN UINT8 Channel, IN UINT8 Device, IN EFI_ATA_COLLECTIVE_MODE *BadModes)
EFI_STATUS EFIAPI IdeInitCalculateMode(IN EFI_IDE_CONTROLLER_INIT_PROTOCOL *This, IN UINT8 Channel, IN UINT8 Device, OUT EFI_ATA_COLLECTIVE_MODE **SupportedModes)