]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/Hsti.h
Add HSTI support.
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / Hsti.h
diff --git a/MdePkg/Include/IndustryStandard/Hsti.h b/MdePkg/Include/IndustryStandard/Hsti.h
new file mode 100644 (file)
index 0000000..1f11855
--- /dev/null
@@ -0,0 +1,82 @@
+/** @file\r
+  Support for HSTI 1.0 specification, defined at \r
+  Microsoft Hardware Security Testability Specification.\r
+\r
+  Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
+  This program and the accompanying materials\r
+  are licensed and made available under the terms and conditions of the BSD License\r
+  which accompanies this distribution.  The full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#ifndef __HSTI_H__\r
+#define __HSTI_H__\r
+\r
+#pragma pack(1)\r
+\r
+#define ADAPTER_INFO_PLATFORM_SECURITY_GUID \\r
+  {0x6be272c7, 0x1320, 0x4ccd, { 0x90, 0x17, 0xd4, 0x61, 0x2c, 0x01, 0x2b, 0x25 }}\r
+\r
+#define PLATFORM_SECURITY_VERSION_VNEXTCS         0x00000003\r
+\r
+#define PLATFORM_SECURITY_ROLE_PLATFORM_REFERENCE 0x00000001  // IHV\r
+#define PLATFORM_SECURITY_ROLE_PLATFORM_IBV       0x00000002\r
+#define PLATFORM_SECURITY_ROLE_IMPLEMENTOR_OEM    0x00000003 \r
+#define PLATFORM_SECURITY_ROLE_IMPLEMENTOR_ODM    0x00000004  \r
+\r
+typedef struct {\r
+  //\r
+  //  Return PLATFORM_SECURITY_VERSION_VNEXTCS\r
+  //\r
+  UINT32  Version;\r
+  //\r
+  // The role of the publisher of this interface.  Reference platform designers\r
+  // such as IHVs and IBVs are expected to return PLATFORM_SECURITY_ROLE_PLATFORM_REFERENCE\r
+  // and PLATFORM_SECURITY_ROLE_PLATFORM_IBV respectively.\r
+  // If the test modules from the designers are unable to fully verify all\r
+  // security features, then the platform implementers, OEMs and ODMs, will\r
+  // need to publish this interface with a role of Implementer.\r
+  //\r
+  UINT32  Role;\r
+  //\r
+  // Human readable vendor, model, & version of this implementation.\r
+  //\r
+  CHAR16  ImplementationID[256];\r
+  //\r
+  // The size in bytes of the SecurityFeaturesRequired and SecurityFeaturesEnabled arrays.\r
+  // The arrays must be the same size.\r
+  //\r
+  UINT32  SecurityFeaturesSize;\r
+  //\r
+  // IHV-defined bitfield corresponding to all security features which must be\r
+  // implemented to meet the security requirements defined by PLATFORM_SECURITY_VERSION Version.\r
+  //\r
+//UINT8   SecurityFeaturesRequired[];     //Ignored for non-IHV\r
+  //\r
+  // Publisher-defined bitfield corresponding to all security features which\r
+  // have implemented programmatic tests in this module.\r
+  //\r
+//UINT8   SecurityFeaturesImplemented[];\r
+  //\r
+  // Publisher-defined bitfield corresponding to all security features which\r
+  // have been verified implemented by this implementation.\r
+  //\r
+//UINT8   SecurityFeaturesVerified[];\r
+  //\r
+  // A Null-terminated string, one failure per line (CR/LF terminated), with a\r
+  // unique identifier that the OEM/ODM can use to locate the documentation\r
+  // which will describe the steps to remediate the failure - a URL to the\r
+  // documentation is recommended.\r
+  //\r
+//CHAR16       ErrorString[];\r
+} ADAPTER_INFO_PLATFORM_SECURITY;\r
+\r
+#pragma pack()\r
+\r
+extern EFI_GUID gAdapterInfoPlatformSecurityGuid;\r
+\r
+#endif\r