1What:		/sys/kernel/config/tsm/report/$name/inblob
2Date:		September, 2023
3KernelVersion:	v6.7
4Contact:	linux-coco@lists.linux.dev
5Description:
6		(WO) Up to 64 bytes of user specified binary data. For replay
7		protection this should include a nonce, but the kernel does not
8		place any restrictions on the content.
9
10What:		/sys/kernel/config/tsm/report/$name/outblob
11Date:		September, 2023
12KernelVersion:	v6.7
13Contact:	linux-coco@lists.linux.dev
14Description:
15		(RO) Binary attestation report generated from @inblob and other
16		options The format of the report is implementation specific
17		where the implementation is conveyed via the @provider
18		attribute.
19
20What:		/sys/kernel/config/tsm/report/$name/auxblob
21Date:		October, 2023
22KernelVersion:	v6.7
23Contact:	linux-coco@lists.linux.dev
24Description:
25		(RO) Optional supplemental data that a TSM may emit, visibility
26		of this attribute depends on TSM, and may be empty if no
27		auxiliary data is available.
28
29		When @provider is "sev_guest" this file contains the
30		"cert_table" from SEV-ES Guest-Hypervisor Communication Block
31		Standardization v2.03 Section 4.1.8.1 MSG_REPORT_REQ.
32		https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/specifications/56421.pdf
33
34What:		/sys/kernel/config/tsm/report/$name/manifestblob
35Date:		January, 2024
36KernelVersion:	v6.10
37Contact:	linux-coco@lists.linux.dev
38Description:
39		(RO) Optional supplemental data that a TSM may emit, visibility
40		of this attribute depends on TSM, and may be empty if no
41		manifest data is available.
42
43		See 'service_provider' for information on the format of the
44		manifest blob.
45
46What:		/sys/kernel/config/tsm/report/$name/provider
47Date:		September, 2023
48KernelVersion:	v6.7
49Contact:	linux-coco@lists.linux.dev
50Description:
51		(RO) A name for the format-specification of @outblob like
52		"sev_guest" [1] or "tdx_guest" [2] in the near term, or a
53		common standard format in the future.
54
55		[1]: SEV Secure Nested Paging Firmware ABI Specification
56		Revision 1.55 Table 22
57		https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/specifications/56860.pdf
58
59		[2]: Intel® Trust Domain Extensions Data Center Attestation
60		Primitives : Quote Generation Library and Quote Verification
61		Library Revision 0.8 Appendix 4,5
62		https://download.01.org/intel-sgx/latest/dcap-latest/linux/docs/Intel_TDX_DCAP_Quoting_Library_API.pdf
63
64What:		/sys/kernel/config/tsm/report/$name/generation
65Date:		September, 2023
66KernelVersion:	v6.7
67Contact:	linux-coco@lists.linux.dev
68Description:
69		(RO) The value in this attribute increments each time @inblob or
70		any option is written. Userspace can detect conflicts by
71		checking generation before writing to any attribute and making
72		sure the number of writes matches expectations after reading
73		@outblob, or it can prevent conflicts by creating a report
74		instance per requesting context.
75
76What:		/sys/kernel/config/tsm/report/$name/privlevel
77Date:		September, 2023
78KernelVersion:	v6.7
79Contact:	linux-coco@lists.linux.dev
80Description:
81		(WO) Attribute is visible if a TSM implementation provider
82		supports the concept of attestation reports for TVMs running at
83		different privilege levels, like SEV-SNP "VMPL", specify the
84		privilege level via this attribute.  The minimum acceptable
85		value is conveyed via @privlevel_floor and the maximum
86		acceptable value is TSM_PRIVLEVEL_MAX (3).
87
88What:		/sys/kernel/config/tsm/report/$name/privlevel_floor
89Date:		September, 2023
90KernelVersion:	v6.7
91Contact:	linux-coco@lists.linux.dev
92Description:
93		(RO) Indicates the minimum permissible value that can be written
94		to @privlevel.
95
96What:		/sys/kernel/config/tsm/report/$name/service_provider
97Date:		January, 2024
98KernelVersion:	v6.10
99Contact:	linux-coco@lists.linux.dev
100Description:
101		(WO) Attribute is visible if a TSM implementation provider
102		supports the concept of attestation reports from a service
103		provider for TVMs, like SEV-SNP running under an SVSM.
104		Specifying the service provider via this attribute will create
105		an attestation report as specified by the service provider.
106		The only currently supported service provider is "svsm".
107
108		For the "svsm" service provider, see the Secure VM Service Module
109		for SEV-SNP Guests v1.00 Section 7. For the doc, search for
110		"site:amd.com "Secure VM Service Module for SEV-SNP
111		Guests", docID: 58019"
112
113What:		/sys/kernel/config/tsm/report/$name/service_guid
114Date:		January, 2024
115KernelVersion:	v6.10
116Contact:	linux-coco@lists.linux.dev
117Description:
118		(WO) Attribute is visible if a TSM implementation provider
119		supports the concept of attestation reports from a service
120		provider for TVMs, like SEV-SNP running under an SVSM.
121		Specifying an empty/null GUID (00000000-0000-0000-0000-000000)
122		requests all active services within the service provider be
123		part of the attestation report. Specifying a GUID request
124		an attestation report of just the specified service using the
125		manifest form specified by the service_manifest_version
126		attribute.
127
128		See 'service_provider' for information on the format of the
129		service guid.
130
131What:		/sys/kernel/config/tsm/report/$name/service_manifest_version
132Date:		January, 2024
133KernelVersion:	v6.10
134Contact:	linux-coco@lists.linux.dev
135Description:
136		(WO) Attribute is visible if a TSM implementation provider
137		supports the concept of attestation reports from a service
138		provider for TVMs, like SEV-SNP running under an SVSM.
139		Indicates the service manifest version requested for the
140		attestation report (default 0). If this field is not set by
141		the user, the default manifest version of the service (the
142		service's initial/first manifest version) is returned.
143
144		See 'service_provider' for information on the format of the
145		service manifest version.
146