On 2015-09-15 19:57:26, Laszlo Ersek wrote:
> The location of the Global HBA Control register, and the AHCI Enable bit
> value come from the AHCI 1.3.1 spec. They are kept together with the
> existing macros in the header file.
>
> This patch completes the implementation of the ideas that Feng shared in
> <http://thread.gmane.org/gmane.comp.bios.tianocore.devel/10545/focus=10659>.
>
> Cc: Alexander Graf <[email protected]>
> Cc: Reza Jelveh <[email protected]>
> Cc: Jordan Justen <[email protected]>
> Cc: Hannes Reinecke <[email protected]>
> Cc: Gabriel L. Somlo <[email protected]>
> Cc: Feng Tian <[email protected]>
> Suggested-by: Feng Tian <[email protected]>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Laszlo Ersek <[email protected]>
> ---
> OvmfPkg/SataControllerDxe/SataController.h | 2 ++
> OvmfPkg/SataControllerDxe/SataController.c | 6 ++++++
> 2 files changed, 8 insertions(+)
>
> diff --git a/OvmfPkg/SataControllerDxe/SataController.h
> b/OvmfPkg/SataControllerDxe/SataController.h
> index e5b719e..96589ea 100644
> --- a/OvmfPkg/SataControllerDxe/SataController.h
> +++ b/OvmfPkg/SataControllerDxe/SataController.h
> @@ -40,6 +40,8 @@ extern EFI_COMPONENT_NAME2_PROTOCOL
> gSataControllerComponentName2;
> #define R_AHCI_CAP 0x0
> #define B_AHCI_CAP_NPS (BIT4 | BIT3 | BIT2 | BIT1 | BIT0) // Number of
> Ports
> #define B_AHCI_CAP_SPM BIT17 // Supports Port Multiplier
> +#define R_AHCI_GHC 0x4
> +#define B_AHCI_GHC_AE BIT31
Maybe use the same #define names as:
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.h
Or, why not create MdePkg/Include/IndustryStandard/Ahci.h?
-Jordan
> ///
> /// AHCI each channel can have up to 1 device
> diff --git a/OvmfPkg/SataControllerDxe/SataController.c
> b/OvmfPkg/SataControllerDxe/SataController.c
> index 275b527..6a4971d 100644
> --- a/OvmfPkg/SataControllerDxe/SataController.c
> +++ b/OvmfPkg/SataControllerDxe/SataController.c
> @@ -475,6 +475,12 @@ SataControllerStart (
> SataPrivateData->DeviceCount = IDE_MAX_DEVICES;
> } else if (IS_PCI_SATADPA (&PciData)) {
> //
> + // Enable AHCI mode.
> + //
> + AhciWriteReg (PciIo, R_AHCI_GHC,
> + AhciReadReg (PciIo, R_AHCI_GHC) | B_AHCI_GHC_AE);
> +
> + //
> // Read Host Capability Register(CAP) to get Number of Ports(NPS) and
> Supports Port Multiplier(SPM)
> // NPS is 0's based value indicating the maximum number of ports
> supported by the HBA silicon.
> // A maximum of 32 ports can be supported. A value of '0h', indicating
> one port, is the minimum requirement.
> --
> 1.8.3.1
>
>
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel