TianoCore EDK2 master
|
#include "NvmExpressPei.h"
Go to the source code of this file.
The NvmExpressPei driver is used to manage non-volatile memory subsystem which follows NVM Express specification at PEI phase.
Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file NvmExpressPei.c.
EFI_STATUS EnumerateNvmeDevNamespace | ( | IN OUT PEI_NVME_CONTROLLER_PRIVATE_DATA * | Private, |
IN UINT32 | NamespaceId | ||
) |
Check if the specified Nvm Express device namespace is active, and then get the Identify Namespace data.
[in,out] | Private | The pointer to the PEI_NVME_CONTROLLER_PRIVATE_DATA data structure. |
[in] | NamespaceId | The specified namespace identifier. |
EFI_SUCCESS | The specified namespace in the device is successfully enumerated. |
Definition at line 67 of file NvmExpressPei.c.
EFI_STATUS NvmeDiscoverNamespaces | ( | IN OUT PEI_NVME_CONTROLLER_PRIVATE_DATA * | Private | ) |
Discover all Nvm Express device active namespaces.
[in,out] | Private | The pointer to the PEI_NVME_CONTROLLER_PRIVATE_DATA data structure. |
EFI_SUCCESS | All the namespaces in the device are successfully enumerated. |
Definition at line 169 of file NvmExpressPei.c.
EFI_STATUS EFIAPI NvmeHostControllerPpiInstallationCallback | ( | IN EFI_PEI_SERVICES ** | PeiServices, |
IN EFI_PEI_NOTIFY_DESCRIPTOR * | NotifyDescriptor, | ||
IN VOID * | Ppi | ||
) |
Callback for EDKII_NVM_EXPRESS_HOST_CONTROLLER_PPI installation.
[in] | PeiServices | Pointer to PEI Services Table. |
[in] | NotifyDescriptor | Pointer to the descriptor for the Notification event that caused this function to execute. |
[in] | Ppi | Pointer to the PPI data associated with this function. |
EFI_SUCCESS | The function completes successfully |
Others | Cannot initialize Nvme controller from given EDKII_NVM_EXPRESS_HOST_CONTROLLER_PPI |
Definition at line 682 of file NvmExpressPei.c.
EFI_STATUS NvmeInitControllerDataFromPciDevice | ( | EDKII_PCI_DEVICE_PPI * | PciDevice | ) |
Initialize Nvme controller from fiven PCI_DEVICE_PPI.
[in] | PciDevice | Pointer to the PCI Device PPI instance. |
EFI_SUCCESS | The function completes successfully |
Others | Cannot initialize Nvme controller for given device |
Definition at line 452 of file NvmExpressPei.c.
EFI_STATUS NvmeInitControllerFromHostControllerPpi | ( | IN EDKII_NVM_EXPRESS_HOST_CONTROLLER_PPI * | NvmeHcPpi | ) |
Initialize Nvme controller from EDKII_NVM_EXPRESS_HOST_CONTROLLER_PPI instance.
[in] | NvmeHcPpi | Pointer to the Nvme Host Controller PPI instance. |
EFI_SUCCESS | PPI successfully installed. |
Definition at line 603 of file NvmExpressPei.c.
EFI_STATUS NvmeInitPrivateData | ( | IN UINTN | MmioBase, |
IN EFI_DEVICE_PATH_PROTOCOL * | DevicePath, | ||
IN UINTN | DevicePathLength | ||
) |
Initialize and install PrivateData PPIs.
[in] | MmioBase | MMIO base address of specific Nvme controller |
[in] | DevicePath | A pointer to the EFI_DEVICE_PATH_PROTOCOL structure. |
[in] | DevicePathLength | Length of the device path. |
EFI_SUCCESS | Nvme controller initialized and PPIs installed |
others | Failed to initialize Nvme controller |
Definition at line 238 of file NvmExpressPei.c.
EFI_STATUS EFIAPI NvmePciDevicePpiInstallationCallback | ( | IN EFI_PEI_SERVICES ** | PeiServices, |
IN EFI_PEI_NOTIFY_DESCRIPTOR * | NotifyDescriptor, | ||
IN VOID * | Ppi | ||
) |
Callback for EDKII_PCI_DEVICE_PPI installation.
[in] | PeiServices | Pointer to PEI Services Table. |
[in] | NotifyDescriptor | Pointer to the descriptor for the Notification event that caused this function to execute. |
[in] | Ppi | Pointer to the PPI data associated with this function. |
EFI_SUCCESS | The function completes successfully |
Others | Cannot initialize Nvme controller from given PCI_DEVICE_PPI |
Definition at line 582 of file NvmExpressPei.c.
EFI_STATUS EFIAPI NvmePeimEndOfPei | ( | IN EFI_PEI_SERVICES ** | PeiServices, |
IN EFI_PEI_NOTIFY_DESCRIPTOR * | NotifyDescriptor, | ||
IN VOID * | Ppi | ||
) |
One notified function to cleanup the allocated resources at the end of PEI.
[in] | PeiServices | Pointer to PEI Services Table. |
[in] | NotifyDescriptor | Pointer to the descriptor for the Notification event that caused this function to execute. |
[in] | Ppi | Pointer to the PPI data associated with this function. |
EFI_SUCCESS | The function completes successfully |
Definition at line 212 of file NvmExpressPei.c.
EFI_STATUS EFIAPI NvmExpressPeimEntry | ( | IN EFI_PEI_FILE_HANDLE | FileHandle, |
IN CONST EFI_PEI_SERVICES ** | PeiServices | ||
) |
Entry point of the PEIM.
[in] | FileHandle | Handle of the file being invoked. |
[in] | PeiServices | Describes the list of possible PEI Services. |
EFI_SUCCESS | PPI successfully installed. |
Definition at line 710 of file NvmExpressPei.c.
EFI_PEI_PPI_DESCRIPTOR mNvmeBlkIo2PpiListTemplate |
Definition at line 19 of file NvmExpressPei.c.
EFI_PEI_PPI_DESCRIPTOR mNvmeBlkIoPpiListTemplate |
Definition at line 13 of file NvmExpressPei.c.
EFI_PEI_NOTIFY_DESCRIPTOR mNvmeEndOfPeiNotifyListTemplate |
Definition at line 37 of file NvmExpressPei.c.
EFI_PEI_NOTIFY_DESCRIPTOR mNvmeHostControllerNotify |
Definition at line 43 of file NvmExpressPei.c.
EFI_PEI_PPI_DESCRIPTOR mNvmePassThruPpiListTemplate |
Definition at line 31 of file NvmExpressPei.c.
EFI_PEI_PPI_DESCRIPTOR mNvmeStorageSecurityPpiListTemplate |
Definition at line 25 of file NvmExpressPei.c.
EFI_PEI_NOTIFY_DESCRIPTOR mPciDevicePpiNotify |
Definition at line 49 of file NvmExpressPei.c.