]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/IndustryStandard/Hsti.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / Hsti.h
1 /** @file
2 Support for HSTI 1.1a specification, defined at
3 Microsoft Hardware Security Testability Specification.
4
5 Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
6 SPDX-License-Identifier: BSD-2-Clause-Patent
7
8 **/
9
10 #ifndef __HSTI_H__
11 #define __HSTI_H__
12
13 #pragma pack(1)
14
15 #define ADAPTER_INFO_PLATFORM_SECURITY_GUID \
16 {0x6be272c7, 0x1320, 0x4ccd, { 0x90, 0x17, 0xd4, 0x61, 0x2c, 0x01, 0x2b, 0x25 }}
17
18 #define PLATFORM_SECURITY_VERSION_VNEXTCS 0x00000003
19
20 #define PLATFORM_SECURITY_ROLE_PLATFORM_REFERENCE 0x00000001 // IHV
21 #define PLATFORM_SECURITY_ROLE_PLATFORM_IBV 0x00000002
22 #define PLATFORM_SECURITY_ROLE_IMPLEMENTOR_OEM 0x00000003
23 #define PLATFORM_SECURITY_ROLE_IMPLEMENTOR_ODM 0x00000004
24
25 typedef struct {
26 //
27 // Return PLATFORM_SECURITY_VERSION_VNEXTCS
28 //
29 UINT32 Version;
30 //
31 // The role of the publisher of this interface. Reference platform designers
32 // such as IHVs and IBVs are expected to return PLATFORM_SECURITY_ROLE_PLATFORM_REFERENCE
33 // and PLATFORM_SECURITY_ROLE_PLATFORM_IBV respectively.
34 // If the test modules from the designers are unable to fully verify all
35 // security features, then the platform implementers, OEMs and ODMs, will
36 // need to publish this interface with a role of Implementer.
37 //
38 UINT32 Role;
39 //
40 // Human readable vendor, model, & version of this implementation.
41 //
42 CHAR16 ImplementationID[256];
43 //
44 // The size in bytes of the SecurityFeaturesRequired and SecurityFeaturesEnabled arrays.
45 // The arrays must be the same size.
46 //
47 UINT32 SecurityFeaturesSize;
48 //
49 // IHV-defined bitfield corresponding to all security features which must be
50 // implemented to meet the security requirements defined by PLATFORM_SECURITY_VERSION Version.
51 //
52 // UINT8 SecurityFeaturesRequired[]; //Ignored for non-IHV
53 //
54 // Publisher-defined bitfield corresponding to all security features which
55 // have implemented programmatic tests in this module.
56 //
57 // UINT8 SecurityFeaturesImplemented[];
58 //
59 // Publisher-defined bitfield corresponding to all security features which
60 // have been verified implemented by this implementation.
61 //
62 // UINT8 SecurityFeaturesVerified[];
63 //
64 // A Null-terminated string, one failure per line (CR/LF terminated), with a
65 // unique identifier that the OEM/ODM can use to locate the documentation
66 // which will describe the steps to remediate the failure - a URL to the
67 // documentation is recommended.
68 //
69 // CHAR16 ErrorString[];
70 } ADAPTER_INFO_PLATFORM_SECURITY;
71
72 #pragma pack()
73
74 extern EFI_GUID gAdapterInfoPlatformSecurityGuid;
75
76 #endif