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