2 NvmExpressDxe driver is used to manage non-volatile memory subsystem which follows
3 NVM Express specification.
5 (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
6 Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
7 SPDX-License-Identifier: BSD-2-Clause-Patent
17 // Offset from the beginning of private data queue buffer
19 #define NVME_ASQ_BUF_OFFSET EFI_PAGE_SIZE
22 Initialize the Nvm Express controller.
24 @param[in] Private The pointer to the NVME_CONTROLLER_PRIVATE_DATA data structure.
26 @retval EFI_SUCCESS The NVM Express Controller is initialized successfully.
27 @retval Others A device error occurred while initializing the controller.
32 IN NVME_CONTROLLER_PRIVATE_DATA
*Private
36 Get identify controller data.
38 @param Private The pointer to the NVME_CONTROLLER_PRIVATE_DATA data structure.
39 @param Buffer The buffer used to store the identify controller data.
41 @return EFI_SUCCESS Successfully get the identify controller data.
42 @return EFI_DEVICE_ERROR Fail to get the identify controller data.
46 NvmeIdentifyController (
47 IN NVME_CONTROLLER_PRIVATE_DATA
*Private
,
52 Get specified identify namespace data.
54 @param Private The pointer to the NVME_CONTROLLER_PRIVATE_DATA data structure.
55 @param NamespaceId The specified namespace identifier.
56 @param Buffer The buffer used to store the identify namespace data.
58 @return EFI_SUCCESS Successfully get the identify namespace data.
59 @return EFI_DEVICE_ERROR Fail to get the identify namespace data.
63 NvmeIdentifyNamespace (
64 IN NVME_CONTROLLER_PRIVATE_DATA
*Private
,
65 IN UINT32 NamespaceId
,