mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-12-23 16:17:40 +01:00
71 lines
2.1 KiB
C
71 lines
2.1 KiB
C
|
/** @file
|
||
|
NvmExpressDxe driver is used to manage non-volatile memory subsystem which follows
|
||
|
NVM Express specification.
|
||
|
|
||
|
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
|
||
|
Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
|
||
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||
|
|
||
|
**/
|
||
|
|
||
|
#ifndef _NVME_HCI_H_
|
||
|
#define _NVME_HCI_H_
|
||
|
|
||
|
#define NVME_BAR 0
|
||
|
|
||
|
//
|
||
|
// Offset from the beginning of private data queue buffer
|
||
|
//
|
||
|
#define NVME_ASQ_BUF_OFFSET EFI_PAGE_SIZE
|
||
|
|
||
|
/**
|
||
|
Initialize the Nvm Express controller.
|
||
|
|
||
|
@param[in] Private The pointer to the NVME_CONTROLLER_PRIVATE_DATA data structure.
|
||
|
|
||
|
@retval EFI_SUCCESS The NVM Express Controller is initialized successfully.
|
||
|
@retval Others A device error occurred while initializing the controller.
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
NvmeControllerInit (
|
||
|
IN NVME_CONTROLLER_PRIVATE_DATA *Private
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
Get identify controller data.
|
||
|
|
||
|
@param Private The pointer to the NVME_CONTROLLER_PRIVATE_DATA data structure.
|
||
|
@param Buffer The buffer used to store the identify controller data.
|
||
|
|
||
|
@return EFI_SUCCESS Successfully get the identify controller data.
|
||
|
@return EFI_DEVICE_ERROR Fail to get the identify controller data.
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
NvmeIdentifyController (
|
||
|
IN NVME_CONTROLLER_PRIVATE_DATA *Private,
|
||
|
IN VOID *Buffer
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
Get specified identify namespace data.
|
||
|
|
||
|
@param Private The pointer to the NVME_CONTROLLER_PRIVATE_DATA data structure.
|
||
|
@param NamespaceId The specified namespace identifier.
|
||
|
@param Buffer The buffer used to store the identify namespace data.
|
||
|
|
||
|
@return EFI_SUCCESS Successfully get the identify namespace data.
|
||
|
@return EFI_DEVICE_ERROR Fail to get the identify namespace data.
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
NvmeIdentifyNamespace (
|
||
|
IN NVME_CONTROLLER_PRIVATE_DATA *Private,
|
||
|
IN UINT32 NamespaceId,
|
||
|
IN VOID *Buffer
|
||
|
);
|
||
|
|
||
|
#endif
|
||
|
|