MdeModulePkg/NvmExpressDxe: Add SecurityStorageProtocol support
Produce this protocol for each namespace at NVMe controller. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Tian Feng <feng.tian@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17638 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
#include <Protocol/BlockIo.h>
|
||||
#include <Protocol/DiskInfo.h>
|
||||
#include <Protocol/DriverSupportedEfiVersion.h>
|
||||
#include <Protocol/StorageSecurityCommand.h>
|
||||
|
||||
#include <Library/BaseLib.h>
|
||||
#include <Library/BaseMemoryLib.h>
|
||||
@@ -152,29 +153,30 @@ struct _NVME_CONTROLLER_PRIVATE_DATA {
|
||||
// Nvme device private data structure
|
||||
//
|
||||
struct _NVME_DEVICE_PRIVATE_DATA {
|
||||
UINT32 Signature;
|
||||
UINT32 Signature;
|
||||
|
||||
EFI_HANDLE DeviceHandle;
|
||||
EFI_HANDLE ControllerHandle;
|
||||
EFI_HANDLE DriverBindingHandle;
|
||||
EFI_HANDLE DeviceHandle;
|
||||
EFI_HANDLE ControllerHandle;
|
||||
EFI_HANDLE DriverBindingHandle;
|
||||
|
||||
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
||||
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
||||
|
||||
EFI_UNICODE_STRING_TABLE *ControllerNameTable;
|
||||
EFI_UNICODE_STRING_TABLE *ControllerNameTable;
|
||||
|
||||
UINT32 NamespaceId;
|
||||
UINT64 NamespaceUuid;
|
||||
UINT32 NamespaceId;
|
||||
UINT64 NamespaceUuid;
|
||||
|
||||
EFI_BLOCK_IO_MEDIA Media;
|
||||
EFI_BLOCK_IO_PROTOCOL BlockIo;
|
||||
EFI_DISK_INFO_PROTOCOL DiskInfo;
|
||||
EFI_BLOCK_IO_MEDIA Media;
|
||||
EFI_BLOCK_IO_PROTOCOL BlockIo;
|
||||
EFI_DISK_INFO_PROTOCOL DiskInfo;
|
||||
EFI_STORAGE_SECURITY_COMMAND_PROTOCOL StorageSecurity;
|
||||
|
||||
EFI_LBA NumBlocks;
|
||||
EFI_LBA NumBlocks;
|
||||
|
||||
CHAR16 ModelName[80];
|
||||
NVME_ADMIN_NAMESPACE_DATA NamespaceData;
|
||||
CHAR16 ModelName[80];
|
||||
NVME_ADMIN_NAMESPACE_DATA NamespaceData;
|
||||
|
||||
NVME_CONTROLLER_PRIVATE_DATA *Controller;
|
||||
NVME_CONTROLLER_PRIVATE_DATA *Controller;
|
||||
|
||||
};
|
||||
|
||||
@@ -195,6 +197,13 @@ struct _NVME_DEVICE_PRIVATE_DATA {
|
||||
NVME_DEVICE_PRIVATE_DATA_SIGNATURE \
|
||||
)
|
||||
|
||||
#define NVME_DEVICE_PRIVATE_DATA_FROM_STORAGE_SECURITY(a)\
|
||||
CR (a, \
|
||||
NVME_DEVICE_PRIVATE_DATA, \
|
||||
StorageSecurity, \
|
||||
NVME_DEVICE_PRIVATE_DATA_SIGNATURE \
|
||||
)
|
||||
|
||||
/**
|
||||
Retrieves a Unicode string that is the user readable name of the driver.
|
||||
|
||||
|
Reference in New Issue
Block a user