# Overview * **Feature Name:** Platform SATA feature * **PI Phase(s) Supported:** PEI * **SMM Required?** No ## Purpose This feature package implements SATA related platform features. # High-Level Theory of Operation This feature provides SATA related platform features: 1. AhciPciHcPei.inf will call a library function to get the PCI bridge information, and scan PCI devices on PCI bus. Platform can implement its own library. ## Firmware Volumes * PostMemory ## Modules * AhciPciHcPei * AhciPcieRpLibNull ## AhciPciHcPei The driver scans SATA devices on PCI bus and provides SATA controller information via EDKII_ATA_AHCI_HOST_CONTROLLER_PPI. ## AhciPcieRpLibNull A NULL implemention of library AhciPcieRpLib, it return NULL for function GetNextRootPortComplex(). Platform maybe implemente its own AhciPcieRpLib. ## Configuration There is not special configuration. But the platform maybe implemente its own AhciPcieRpLib. ## Data Flows Architecturally defined data structures and flows for the feature. ### Data flows of NvmePciHcPei The driver install EDKII_ATA_AHCI_HOST_CONTROLLER_PPI which is consumed by EDK2 SATA drivers. ## Control Flows Consumer gets SATA controller configuration via EDKII_ATA_AHCI_HOST_CONTROLLER_PPI. ## Build Flows No any special build flows is needed. ## Test Point Results Verified by bios debug log. ## Functional Exit Criteria Check by bios debug log to see if EDKII_ATA_AHCI_HOST_CONTROLLER_PPI is installed successfully. ## Feature Enabling Checklist Include SataFeature.dsc ## Common Optimizations