]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpress.h
MdeModulePkg/NvmExpressDxe: Add SecurityStorageProtocol support
[mirror_edk2.git] / MdeModulePkg / Bus / Pci / NvmExpressDxe / NvmExpress.h
index 54baac6f004fc4a34b8344bc69d572ea63febb72..21c6255caac26cca81928b68e43a06998680b2b1 100644 (file)
@@ -30,6 +30,7 @@
 #include <Protocol/BlockIo.h>\r
 #include <Protocol/DiskInfo.h>\r
 #include <Protocol/DriverSupportedEfiVersion.h>\r
+#include <Protocol/StorageSecurityCommand.h>\r
 \r
 #include <Library/BaseLib.h>\r
 #include <Library/BaseMemoryLib.h>\r
@@ -152,29 +153,30 @@ struct _NVME_CONTROLLER_PRIVATE_DATA {
 // Nvme device private data structure\r
 //\r
 struct _NVME_DEVICE_PRIVATE_DATA {\r
-  UINT32                            Signature;\r
+  UINT32                                   Signature;\r
 \r
-  EFI_HANDLE                        DeviceHandle;\r
-  EFI_HANDLE                        ControllerHandle;\r
-  EFI_HANDLE                        DriverBindingHandle;\r
+  EFI_HANDLE                               DeviceHandle;\r
+  EFI_HANDLE                               ControllerHandle;\r
+  EFI_HANDLE                               DriverBindingHandle;\r
 \r
-  EFI_DEVICE_PATH_PROTOCOL          *DevicePath;\r
+  EFI_DEVICE_PATH_PROTOCOL                 *DevicePath;\r
 \r
-  EFI_UNICODE_STRING_TABLE          *ControllerNameTable;\r
+  EFI_UNICODE_STRING_TABLE                 *ControllerNameTable;\r
 \r
-  UINT32                            NamespaceId;\r
-  UINT64                            NamespaceUuid;\r
+  UINT32                                   NamespaceId;\r
+  UINT64                                   NamespaceUuid;\r
 \r
-  EFI_BLOCK_IO_MEDIA                Media;\r
-  EFI_BLOCK_IO_PROTOCOL             BlockIo;\r
-  EFI_DISK_INFO_PROTOCOL            DiskInfo;\r
+  EFI_BLOCK_IO_MEDIA                       Media;\r
+  EFI_BLOCK_IO_PROTOCOL                    BlockIo;\r
+  EFI_DISK_INFO_PROTOCOL                   DiskInfo;\r
+  EFI_STORAGE_SECURITY_COMMAND_PROTOCOL    StorageSecurity;\r
 \r
-  EFI_LBA                           NumBlocks;\r
+  EFI_LBA                                  NumBlocks;\r
 \r
-  CHAR16                            ModelName[80];\r
-  NVME_ADMIN_NAMESPACE_DATA         NamespaceData;\r
+  CHAR16                                   ModelName[80];\r
+  NVME_ADMIN_NAMESPACE_DATA                NamespaceData;\r
 \r
-  NVME_CONTROLLER_PRIVATE_DATA      *Controller;\r
+  NVME_CONTROLLER_PRIVATE_DATA             *Controller;\r
 \r
 };\r
 \r
@@ -195,6 +197,13 @@ struct _NVME_DEVICE_PRIVATE_DATA {
       NVME_DEVICE_PRIVATE_DATA_SIGNATURE \\r
       )\r
 \r
+#define NVME_DEVICE_PRIVATE_DATA_FROM_STORAGE_SECURITY(a)\\r
+  CR (a,                                                 \\r
+      NVME_DEVICE_PRIVATE_DATA,                          \\r
+      StorageSecurity,                                   \\r
+      NVME_DEVICE_PRIVATE_DATA_SIGNATURE                 \\r
+      )\r
+\r
 /**\r
   Retrieves a Unicode string that is the user readable name of the driver.\r
 \r