1 /** @file 2 Support for HSTI 1.0 specification, defined at 3 Microsoft Hardware Security Testability Specification. 4 5 Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> 6 This program and the accompanying materials 7 are licensed and made available under the terms and conditions of the BSD License 8 which accompanies this distribution. The full text of the license may be found at 9 http://opensource.org/licenses/bsd-license.php 10 11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13 14 **/ 15 16 #ifndef __HSTI_H__ 17 #define __HSTI_H__ 18 19 #pragma pack(1) 20 21 #define ADAPTER_INFO_PLATFORM_SECURITY_GUID \ 22 {0x6be272c7, 0x1320, 0x4ccd, { 0x90, 0x17, 0xd4, 0x61, 0x2c, 0x01, 0x2b, 0x25 }} 23 24 #define PLATFORM_SECURITY_VERSION_VNEXTCS 0x00000003 25 26 #define PLATFORM_SECURITY_ROLE_PLATFORM_REFERENCE 0x00000001 // IHV 27 #define PLATFORM_SECURITY_ROLE_PLATFORM_IBV 0x00000002 28 #define PLATFORM_SECURITY_ROLE_IMPLEMENTOR_OEM 0x00000003 29 #define PLATFORM_SECURITY_ROLE_IMPLEMENTOR_ODM 0x00000004 30 31 typedef struct { 32 // 33 // Return PLATFORM_SECURITY_VERSION_VNEXTCS 34 // 35 UINT32 Version; 36 // 37 // The role of the publisher of this interface. Reference platform designers 38 // such as IHVs and IBVs are expected to return PLATFORM_SECURITY_ROLE_PLATFORM_REFERENCE 39 // and PLATFORM_SECURITY_ROLE_PLATFORM_IBV respectively. 40 // If the test modules from the designers are unable to fully verify all 41 // security features, then the platform implementers, OEMs and ODMs, will 42 // need to publish this interface with a role of Implementer. 43 // 44 UINT32 Role; 45 // 46 // Human readable vendor, model, & version of this implementation. 47 // 48 CHAR16 ImplementationID[256]; 49 // 50 // The size in bytes of the SecurityFeaturesRequired and SecurityFeaturesEnabled arrays. 51 // The arrays must be the same size. 52 // 53 UINT32 SecurityFeaturesSize; 54 // 55 // IHV-defined bitfield corresponding to all security features which must be 56 // implemented to meet the security requirements defined by PLATFORM_SECURITY_VERSION Version. 57 // 58 //UINT8 SecurityFeaturesRequired[]; //Ignored for non-IHV 59 // 60 // Publisher-defined bitfield corresponding to all security features which 61 // have implemented programmatic tests in this module. 62 // 63 //UINT8 SecurityFeaturesImplemented[]; 64 // 65 // Publisher-defined bitfield corresponding to all security features which 66 // have been verified implemented by this implementation. 67 // 68 //UINT8 SecurityFeaturesVerified[]; 69 // 70 // A Null-terminated string, one failure per line (CR/LF terminated), with a 71 // unique identifier that the OEM/ODM can use to locate the documentation 72 // which will describe the steps to remediate the failure - a URL to the 73 // documentation is recommended. 74 // 75 //CHAR16 ErrorString[]; 76 } ADAPTER_INFO_PLATFORM_SECURITY; 77 78 #pragma pack() 79 80 extern EFI_GUID gAdapterInfoPlatformSecurityGuid; 81 82 #endif 83