162306a36Sopenharmony_ciWhat:		/sys/class/firmware-attributes/*/attributes/*/
262306a36Sopenharmony_ciDate:		February 2021
362306a36Sopenharmony_ciKernelVersion:	5.11
462306a36Sopenharmony_ciContact:	Divya Bharathi <Divya.Bharathi@Dell.com>,
562306a36Sopenharmony_ci		Prasanth KSR <prasanth.ksr@dell.com>
662306a36Sopenharmony_ci		Dell.Client.Kernel@dell.com
762306a36Sopenharmony_ciDescription:
862306a36Sopenharmony_ci		A sysfs interface for systems management software to enable
962306a36Sopenharmony_ci		configuration capability on supported systems.  This directory
1062306a36Sopenharmony_ci		exposes interfaces for interacting with configuration options.
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci		Unless otherwise specified in an attribute description all attributes are optional
1362306a36Sopenharmony_ci		and will accept UTF-8 input.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci		type:
1662306a36Sopenharmony_ci		    A file that can be read to obtain the type of attribute.
1762306a36Sopenharmony_ci		    This attribute is mandatory.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci		The following are known types:
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci			- enumeration: a set of pre-defined valid values
2262306a36Sopenharmony_ci			- integer: a range of numerical values
2362306a36Sopenharmony_ci			- string
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci		HP specific types
2662306a36Sopenharmony_ci		-----------------
2762306a36Sopenharmony_ci			- ordered-list - a set of ordered list valid values
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci		All attribute types support the following values:
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci		current_value:
3362306a36Sopenharmony_ci				A file that can be read to obtain the current
3462306a36Sopenharmony_ci				value of the <attr>.
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci				This file can also be written to in order to update the value of a
3762306a36Sopenharmony_ci				<attr>
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci				This attribute is mandatory.
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci		default_value:
4262306a36Sopenharmony_ci				A file that can be read to obtain the default
4362306a36Sopenharmony_ci				value of the <attr>
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci		display_name:
4662306a36Sopenharmony_ci				A file that can be read to obtain a user friendly
4762306a36Sopenharmony_ci				description of the at <attr>
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci		display_name_language_code:
5062306a36Sopenharmony_ci						A file that can be read to obtain
5162306a36Sopenharmony_ci						the IETF language tag corresponding to the
5262306a36Sopenharmony_ci						"display_name" of the <attr>
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci		"enumeration"-type specific properties:
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci		possible_values:
5762306a36Sopenharmony_ci					A file that can be read to obtain the possible
5862306a36Sopenharmony_ci					values of the <attr>. Values are separated using
5962306a36Sopenharmony_ci					semi-colon (``;``).
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci		"integer"-type specific properties:
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci		min_value:
6462306a36Sopenharmony_ci				A file that can be read to obtain the lower
6562306a36Sopenharmony_ci				bound value of the <attr>
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci		max_value:
6862306a36Sopenharmony_ci				A file that can be read to obtain the upper
6962306a36Sopenharmony_ci				bound value of the <attr>
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci		scalar_increment:
7262306a36Sopenharmony_ci					A file that can be read to obtain the scalar value used for
7362306a36Sopenharmony_ci					increments of current_value this attribute accepts.
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci		"string"-type specific properties:
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci		max_length:
7862306a36Sopenharmony_ci				A file that can be read to obtain the maximum
7962306a36Sopenharmony_ci				length value of the <attr>
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci		min_length:
8262306a36Sopenharmony_ci				A file that can be read to obtain the minimum
8362306a36Sopenharmony_ci				length value of the <attr>
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci		Dell specific class extensions
8662306a36Sopenharmony_ci		------------------------------
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci		On Dell systems the following additional attributes are available:
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci		dell_modifier:
9162306a36Sopenharmony_ci				A file that can be read to obtain attribute-level
9262306a36Sopenharmony_ci				dependency rule. It says an attribute X will become read-only or
9362306a36Sopenharmony_ci				suppressed, if/if-not attribute Y is configured.
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci				modifier rules can be in following format::
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci				    [ReadOnlyIf:<attribute>=<value>]
9862306a36Sopenharmony_ci				    [ReadOnlyIfNot:<attribute>=<value>]
9962306a36Sopenharmony_ci				    [SuppressIf:<attribute>=<value>]
10062306a36Sopenharmony_ci				    [SuppressIfNot:<attribute>=<value>]
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ci				For example::
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci				    AutoOnFri/dell_modifier has value,
10562306a36Sopenharmony_ci					    [SuppressIfNot:AutoOn=SelectDays]
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci				This means AutoOnFri will be suppressed in BIOS setup if AutoOn
10862306a36Sopenharmony_ci				attribute is not "SelectDays" and its value will not be effective
10962306a36Sopenharmony_ci				through sysfs until this rule is met.
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci		Enumeration attributes also support the following:
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci		dell_value_modifier:
11462306a36Sopenharmony_ci					A file that can be read to obtain value-level dependency.
11562306a36Sopenharmony_ci					This file is similar to dell_modifier but here,	an
11662306a36Sopenharmony_ci					attribute's current value will be forcefully changed based
11762306a36Sopenharmony_ci					dependent attributes value.
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci					dell_value_modifier rules can be in following format::
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci					    <value>[ForceIf:<attribute>=<value>]
12262306a36Sopenharmony_ci					    <value>[ForceIfNot:<attribute>=<value>]
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci					For example::
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci					    LegacyOrom/dell_value_modifier has value:
12762306a36Sopenharmony_ci						    Disabled[ForceIf:SecureBoot=Enabled]
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci					This means LegacyOrom's current value will be forced to
13062306a36Sopenharmony_ci					"Disabled" in BIOS setup if SecureBoot is Enabled and its
13162306a36Sopenharmony_ci					value will not be effective through sysfs until this rule is
13262306a36Sopenharmony_ci					met.
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci		HP specific class extensions
13562306a36Sopenharmony_ci		------------------------------
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci		On HP systems the following additional attributes are available:
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci		"ordered-list"-type specific properties:
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci		elements:
14262306a36Sopenharmony_ci					A file that can be read to obtain the possible
14362306a36Sopenharmony_ci					list of values of the <attr>. Values are separated using
14462306a36Sopenharmony_ci					semi-colon (``;``) and listed according to their priority.
14562306a36Sopenharmony_ci					An element listed first has the highest priority. Writing
14662306a36Sopenharmony_ci					the list in a different order to current_value alters
14762306a36Sopenharmony_ci					the priority order for the particular attribute.
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ciWhat:		/sys/class/firmware-attributes/*/authentication/
15062306a36Sopenharmony_ciDate:		February 2021
15162306a36Sopenharmony_ciKernelVersion:	5.11
15262306a36Sopenharmony_ciContact:	Divya Bharathi <Divya.Bharathi@Dell.com>,
15362306a36Sopenharmony_ci		Prasanth KSR <prasanth.ksr@dell.com>
15462306a36Sopenharmony_ci		Dell.Client.Kernel@dell.com
15562306a36Sopenharmony_ciDescription:
15662306a36Sopenharmony_ci		Devices support various authentication mechanisms which can be exposed
15762306a36Sopenharmony_ci		as a separate configuration object.
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ci		For example a "BIOS Admin" password and "System" Password can be set,
16062306a36Sopenharmony_ci		reset or cleared using these attributes.
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci		- An "Admin" password is used for preventing modification to the BIOS
16362306a36Sopenharmony_ci		  settings.
16462306a36Sopenharmony_ci		- A "System" password is required to boot a machine.
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ci		Change in any of these two authentication methods will also generate an
16762306a36Sopenharmony_ci		uevent KOBJ_CHANGE.
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci		is_enabled:
17062306a36Sopenharmony_ci					A file that can be read to obtain a 0/1 flag to see if
17162306a36Sopenharmony_ci					<attr> authentication is enabled.
17262306a36Sopenharmony_ci					This attribute is mandatory.
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ci		role:
17562306a36Sopenharmony_ci					The type of authentication used.
17662306a36Sopenharmony_ci					This attribute is mandatory.
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_ci					Known types:
17962306a36Sopenharmony_ci						bios-admin:
18062306a36Sopenharmony_ci							Representing BIOS administrator password
18162306a36Sopenharmony_ci						power-on:
18262306a36Sopenharmony_ci							Representing a password required to use
18362306a36Sopenharmony_ci							the system
18462306a36Sopenharmony_ci						system-mgmt:
18562306a36Sopenharmony_ci							Representing System Management password.
18662306a36Sopenharmony_ci							See Lenovo extensions section for details
18762306a36Sopenharmony_ci						HDD:
18862306a36Sopenharmony_ci							Representing HDD password
18962306a36Sopenharmony_ci							See Lenovo extensions section for details
19062306a36Sopenharmony_ci						NVMe:
19162306a36Sopenharmony_ci							Representing NVMe password
19262306a36Sopenharmony_ci							See Lenovo extensions section for details
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ci		mechanism:
19562306a36Sopenharmony_ci					The means of authentication.  This attribute is mandatory.
19662306a36Sopenharmony_ci					Only supported type currently is "password".
19762306a36Sopenharmony_ci
19862306a36Sopenharmony_ci		max_password_length:
19962306a36Sopenharmony_ci					A file that can be read to obtain the
20062306a36Sopenharmony_ci					maximum length of the Password
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ci		min_password_length:
20362306a36Sopenharmony_ci					A file that can be read to obtain the
20462306a36Sopenharmony_ci					minimum length of the Password
20562306a36Sopenharmony_ci
20662306a36Sopenharmony_ci		current_password:
20762306a36Sopenharmony_ci					A write only value used for privileged access such as
20862306a36Sopenharmony_ci					setting	attributes when a system or admin password is set
20962306a36Sopenharmony_ci					or resetting to a new password
21062306a36Sopenharmony_ci
21162306a36Sopenharmony_ci					This attribute is mandatory when mechanism == "password".
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ci		new_password:
21462306a36Sopenharmony_ci					A write only value that when used in tandem with
21562306a36Sopenharmony_ci					current_password will reset a system or admin password.
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ci		Note, password management is session specific. If Admin password is set,
21862306a36Sopenharmony_ci		same password must be written into current_password file (required for
21962306a36Sopenharmony_ci		password-validation) and must be cleared once the session is over.
22062306a36Sopenharmony_ci		For example::
22162306a36Sopenharmony_ci
22262306a36Sopenharmony_ci			echo "password" > current_password
22362306a36Sopenharmony_ci			echo "disabled" > TouchScreen/current_value
22462306a36Sopenharmony_ci			echo "" > current_password
22562306a36Sopenharmony_ci
22662306a36Sopenharmony_ci		Drivers may emit a CHANGE uevent when a password is set or unset
22762306a36Sopenharmony_ci		userspace may check it again.
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci		On Dell, Lenovo and HP systems, if Admin password is set, then all BIOS attributes
23062306a36Sopenharmony_ci		require password validation.
23162306a36Sopenharmony_ci		On Lenovo systems if you change the Admin password the new password is not active until
23262306a36Sopenharmony_ci		the next boot.
23362306a36Sopenharmony_ci
23462306a36Sopenharmony_ci		Lenovo specific class extensions
23562306a36Sopenharmony_ci		--------------------------------
23662306a36Sopenharmony_ci
23762306a36Sopenharmony_ci		On Lenovo systems the following additional settings are available:
23862306a36Sopenharmony_ci
23962306a36Sopenharmony_ci		role: system-mgmt	This gives the same authority as the bios-admin password to control
24062306a36Sopenharmony_ci					security related features. The authorities allocated can be set via
24162306a36Sopenharmony_ci					the BIOS menu SMP Access Control Policy
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ci		role: HDD & NVMe	This password is used to unlock access to the drive at boot. Note see
24462306a36Sopenharmony_ci					'level' and 'index' extensions below.
24562306a36Sopenharmony_ci
24662306a36Sopenharmony_ci		lenovo_encoding:
24762306a36Sopenharmony_ci					The encoding method that is used. This can be either "ascii"
24862306a36Sopenharmony_ci					or "scancode". Default is set to "ascii"
24962306a36Sopenharmony_ci
25062306a36Sopenharmony_ci		lenovo_kbdlang:
25162306a36Sopenharmony_ci					The keyboard language method that is used. This is generally a
25262306a36Sopenharmony_ci					two char code (e.g. "us", "fr", "gr") and may vary per platform.
25362306a36Sopenharmony_ci					Default is set to "us"
25462306a36Sopenharmony_ci
25562306a36Sopenharmony_ci		level:
25662306a36Sopenharmony_ci					Available for HDD and NVMe authentication to set 'user' or 'master'
25762306a36Sopenharmony_ci					privilege level.
25862306a36Sopenharmony_ci					If only the user password is configured then this should be used to
25962306a36Sopenharmony_ci					unlock the drive at boot. If both master and user passwords are set
26062306a36Sopenharmony_ci					then either can be used. If a master password is set a user password
26162306a36Sopenharmony_ci					is required.
26262306a36Sopenharmony_ci					This attribute defaults to 'user' level
26362306a36Sopenharmony_ci
26462306a36Sopenharmony_ci		index:
26562306a36Sopenharmony_ci					Used with HDD and NVME authentication to set the drive index
26662306a36Sopenharmony_ci					that is being referenced (e.g hdd1, hdd2 etc)
26762306a36Sopenharmony_ci					This attribute defaults to device 1.
26862306a36Sopenharmony_ci
26962306a36Sopenharmony_ci		certificate, signature, save_signature:
27062306a36Sopenharmony_ci					These attributes are used for certificate based authentication. This is
27162306a36Sopenharmony_ci					used in conjunction with a signing server as an alternative to password
27262306a36Sopenharmony_ci					based authentication.
27362306a36Sopenharmony_ci					The user writes to the attribute(s) with a BASE64 encoded string obtained
27462306a36Sopenharmony_ci					from the signing server.
27562306a36Sopenharmony_ci					The attributes can be displayed to check the stored value.
27662306a36Sopenharmony_ci
27762306a36Sopenharmony_ci					Some usage examples:
27862306a36Sopenharmony_ci
27962306a36Sopenharmony_ci						Installing a certificate to enable feature::
28062306a36Sopenharmony_ci
28162306a36Sopenharmony_ci							echo "supervisor password" > authentication/Admin/current_password
28262306a36Sopenharmony_ci							echo "signed certificate" > authentication/Admin/certificate
28362306a36Sopenharmony_ci
28462306a36Sopenharmony_ci						Updating the installed certificate::
28562306a36Sopenharmony_ci
28662306a36Sopenharmony_ci							echo "signature" > authentication/Admin/signature
28762306a36Sopenharmony_ci							echo "signed certificate" > authentication/Admin/certificate
28862306a36Sopenharmony_ci
28962306a36Sopenharmony_ci						Removing the installed certificate::
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_ci							echo "signature" > authentication/Admin/signature
29262306a36Sopenharmony_ci							echo "" > authentication/Admin/certificate
29362306a36Sopenharmony_ci
29462306a36Sopenharmony_ci						Changing a BIOS setting::
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ci							echo "signature" > authentication/Admin/signature
29762306a36Sopenharmony_ci							echo "save signature" > authentication/Admin/save_signature
29862306a36Sopenharmony_ci							echo Enable > attribute/PasswordBeep/current_value
29962306a36Sopenharmony_ci
30062306a36Sopenharmony_ci					You cannot enable certificate authentication if a supervisor password
30162306a36Sopenharmony_ci					has not been set.
30262306a36Sopenharmony_ci					Clearing the certificate results in no bios-admin authentication method
30362306a36Sopenharmony_ci					being configured allowing anyone to make changes.
30462306a36Sopenharmony_ci					After any of these operations the system must reboot for the changes to
30562306a36Sopenharmony_ci					take effect.
30662306a36Sopenharmony_ci
30762306a36Sopenharmony_ci		certificate_thumbprint:
30862306a36Sopenharmony_ci					Read only attribute used to display the MD5, SHA1 and SHA256 thumbprints
30962306a36Sopenharmony_ci					for the certificate installed in the BIOS.
31062306a36Sopenharmony_ci
31162306a36Sopenharmony_ci		certificate_to_password:
31262306a36Sopenharmony_ci					Write only attribute used to switch from certificate based authentication
31362306a36Sopenharmony_ci					back to password based.
31462306a36Sopenharmony_ci					Usage::
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ci						echo "signature" > authentication/Admin/signature
31762306a36Sopenharmony_ci						echo "password" > authentication/Admin/certificate_to_password
31862306a36Sopenharmony_ci
31962306a36Sopenharmony_ci		HP specific class extensions
32062306a36Sopenharmony_ci		--------------------------------
32162306a36Sopenharmony_ci
32262306a36Sopenharmony_ci		On HP systems the following additional settings are available:
32362306a36Sopenharmony_ci
32462306a36Sopenharmony_ci		role: enhanced-bios-auth:
32562306a36Sopenharmony_ci					This role is specific to Secure Platform Management (SPM) attribute.
32662306a36Sopenharmony_ci					It requires configuring an endorsement (kek) and signing certificate (sk).
32762306a36Sopenharmony_ci
32862306a36Sopenharmony_ci
32962306a36Sopenharmony_ciWhat:		/sys/class/firmware-attributes/*/attributes/pending_reboot
33062306a36Sopenharmony_ciDate:		February 2021
33162306a36Sopenharmony_ciKernelVersion:	5.11
33262306a36Sopenharmony_ciContact:	Divya Bharathi <Divya.Bharathi@Dell.com>,
33362306a36Sopenharmony_ci		Prasanth KSR <prasanth.ksr@dell.com>
33462306a36Sopenharmony_ci		Dell.Client.Kernel@dell.com
33562306a36Sopenharmony_ciDescription:
33662306a36Sopenharmony_ci		A read-only attribute reads 1 if a reboot is necessary to apply
33762306a36Sopenharmony_ci		pending BIOS attribute changes. Also, an uevent_KOBJ_CHANGE is
33862306a36Sopenharmony_ci		generated when it changes to 1.
33962306a36Sopenharmony_ci
34062306a36Sopenharmony_ci			==	=========================================
34162306a36Sopenharmony_ci			0	All BIOS attributes setting are current
34262306a36Sopenharmony_ci			1	A reboot is necessary to get pending BIOS
34362306a36Sopenharmony_ci				attribute changes applied
34462306a36Sopenharmony_ci			==	=========================================
34562306a36Sopenharmony_ci
34662306a36Sopenharmony_ci		Note, userspace applications need to follow below steps for efficient
34762306a36Sopenharmony_ci		BIOS management,
34862306a36Sopenharmony_ci
34962306a36Sopenharmony_ci		1.	Check if admin password is set. If yes, follow session method for
35062306a36Sopenharmony_ci			password management as briefed under authentication section above.
35162306a36Sopenharmony_ci		2.	Before setting any attribute, check if it has any modifiers
35262306a36Sopenharmony_ci			or value_modifiers. If yes, incorporate them and then modify
35362306a36Sopenharmony_ci			attribute.
35462306a36Sopenharmony_ci
35562306a36Sopenharmony_ci		Drivers may emit a CHANGE uevent when this value changes and userspace
35662306a36Sopenharmony_ci		may check it again.
35762306a36Sopenharmony_ci
35862306a36Sopenharmony_ciWhat:		/sys/class/firmware-attributes/*/attributes/reset_bios
35962306a36Sopenharmony_ciDate:		February 2021
36062306a36Sopenharmony_ciKernelVersion:	5.11
36162306a36Sopenharmony_ciContact:	Divya Bharathi <Divya.Bharathi@Dell.com>,
36262306a36Sopenharmony_ci		Prasanth KSR <prasanth.ksr@dell.com>
36362306a36Sopenharmony_ci		Dell.Client.Kernel@dell.com
36462306a36Sopenharmony_ciDescription:
36562306a36Sopenharmony_ci		This attribute can be used to reset the BIOS Configuration.
36662306a36Sopenharmony_ci		Specifically, it tells which type of reset BIOS configuration is being
36762306a36Sopenharmony_ci		requested on the host.
36862306a36Sopenharmony_ci
36962306a36Sopenharmony_ci		Reading from it returns a list of supported options encoded as:
37062306a36Sopenharmony_ci
37162306a36Sopenharmony_ci			- 'builtinsafe' (Built in safe configuration profile)
37262306a36Sopenharmony_ci			- 'lastknowngood' (Last known good saved configuration profile)
37362306a36Sopenharmony_ci			- 'factory' (Default factory settings configuration profile)
37462306a36Sopenharmony_ci			- 'custom' (Custom saved configuration profile)
37562306a36Sopenharmony_ci
37662306a36Sopenharmony_ci		The currently selected option is printed in square brackets as
37762306a36Sopenharmony_ci		shown below::
37862306a36Sopenharmony_ci
37962306a36Sopenharmony_ci		    # echo "factory" > /sys/class/firmware-attributes/*/device/attributes/reset_bios
38062306a36Sopenharmony_ci		    # cat /sys/class/firmware-attributes/*/device/attributes/reset_bios
38162306a36Sopenharmony_ci		    builtinsafe lastknowngood [factory] custom
38262306a36Sopenharmony_ci
38362306a36Sopenharmony_ci		Note that any changes to this attribute requires a reboot
38462306a36Sopenharmony_ci		for changes to take effect.
38562306a36Sopenharmony_ci
38662306a36Sopenharmony_ciWhat:		/sys/class/firmware-attributes/*/attributes/debug_cmd
38762306a36Sopenharmony_ciDate:		July 2021
38862306a36Sopenharmony_ciKernelVersion:	5.14
38962306a36Sopenharmony_ciContact:	Mark Pearson <markpearson@lenovo.com>
39062306a36Sopenharmony_ciDescription:
39162306a36Sopenharmony_ci		This write only attribute can be used to send debug commands to the BIOS.
39262306a36Sopenharmony_ci		This should only be used when recommended by the BIOS vendor. Vendors may
39362306a36Sopenharmony_ci		use it to enable extra debug attributes or BIOS features for testing purposes.
39462306a36Sopenharmony_ci
39562306a36Sopenharmony_ci		Note that any changes to this attribute requires a reboot for changes to take effect.
39662306a36Sopenharmony_ci
39762306a36Sopenharmony_ci
39862306a36Sopenharmony_ci		HP specific class extensions - Secure Platform Manager (SPM)
39962306a36Sopenharmony_ci		--------------------------------
40062306a36Sopenharmony_ci
40162306a36Sopenharmony_ciWhat:		/sys/class/firmware-attributes/*/authentication/SPM/kek
40262306a36Sopenharmony_ciDate:		March 2023
40362306a36Sopenharmony_ciKernelVersion:	5.18
40462306a36Sopenharmony_ciContact:	"Jorge Lopez" <jorge.lopez2@hp.com>
40562306a36Sopenharmony_ciDescription:
40662306a36Sopenharmony_ci		'kek' Key-Encryption-Key is a write-only file that can be used to configure the
40762306a36Sopenharmony_ci		RSA public key that will be used by the BIOS to verify
40862306a36Sopenharmony_ci		signatures when setting the signing key.  When written,
40962306a36Sopenharmony_ci		the bytes should correspond to the KEK certificate
41062306a36Sopenharmony_ci		(x509 .DER format containing an OU).  The size of the
41162306a36Sopenharmony_ci		certificate must be less than or equal to 4095 bytes.
41262306a36Sopenharmony_ci
41362306a36Sopenharmony_ciWhat:		/sys/class/firmware-attributes/*/authentication/SPM/sk
41462306a36Sopenharmony_ciDate:		March 2023
41562306a36Sopenharmony_ciKernelVersion:	5.18
41662306a36Sopenharmony_ciContact:	"Jorge Lopez" <jorge.lopez2@hp.com>
41762306a36Sopenharmony_ciDescription:
41862306a36Sopenharmony_ci		'sk' Signature Key is a write-only file that can be used to configure the RSA
41962306a36Sopenharmony_ci		public key that will be used by the BIOS to verify signatures
42062306a36Sopenharmony_ci		when configuring BIOS settings and security features.  When
42162306a36Sopenharmony_ci		written, the bytes should correspond to the modulus of the
42262306a36Sopenharmony_ci		public key.  The exponent is assumed to be 0x10001.
42362306a36Sopenharmony_ci
42462306a36Sopenharmony_ciWhat:		/sys/class/firmware-attributes/*/authentication/SPM/status
42562306a36Sopenharmony_ciDate:		March 2023
42662306a36Sopenharmony_ciKernelVersion:	5.18
42762306a36Sopenharmony_ciContact:	"Jorge Lopez" <jorge.lopez2@hp.com>
42862306a36Sopenharmony_ciDescription:
42962306a36Sopenharmony_ci		'status' is a read-only file that returns ASCII text in JSON format reporting
43062306a36Sopenharmony_ci		the status information.
43162306a36Sopenharmony_ci
43262306a36Sopenharmony_ci		  "State": "not provisioned | provisioned | provisioning in progress",
43362306a36Sopenharmony_ci		  "Version": "Major.Minor",
43462306a36Sopenharmony_ci		  "Nonce": <16-bit unsigned number display in base 10>,
43562306a36Sopenharmony_ci		  "FeaturesInUse": <16-bit unsigned number display in base 10>,
43662306a36Sopenharmony_ci		  "EndorsementKeyMod": "<256 bytes in base64>",
43762306a36Sopenharmony_ci		  "SigningKeyMod": "<256 bytes in base64>"
43862306a36Sopenharmony_ci
43962306a36Sopenharmony_ciWhat:		/sys/class/firmware-attributes/*/attributes/Sure_Start/audit_log_entries
44062306a36Sopenharmony_ciDate:		March 2023
44162306a36Sopenharmony_ciKernelVersion:	5.18
44262306a36Sopenharmony_ciContact:	"Jorge Lopez" <jorge.lopez2@hp.com>
44362306a36Sopenharmony_ciDescription:
44462306a36Sopenharmony_ci		'audit_log_entries' is a read-only file that returns the events in the log.
44562306a36Sopenharmony_ci
44662306a36Sopenharmony_ci			Audit log entry format
44762306a36Sopenharmony_ci
44862306a36Sopenharmony_ci			Byte 0-15:   Requested Audit Log entry  (Each Audit log is 16 bytes)
44962306a36Sopenharmony_ci			Byte 16-127: Unused
45062306a36Sopenharmony_ci
45162306a36Sopenharmony_ciWhat:		/sys/class/firmware-attributes/*/attributes/Sure_Start/audit_log_entry_count
45262306a36Sopenharmony_ciDate:		March 2023
45362306a36Sopenharmony_ciKernelVersion:	5.18
45462306a36Sopenharmony_ciContact:	"Jorge Lopez" <jorge.lopez2@hp.com>
45562306a36Sopenharmony_ciDescription:
45662306a36Sopenharmony_ci		'audit_log_entry_count' is a read-only file that returns the number of existing
45762306a36Sopenharmony_ci		audit log events available to be read. Values are separated using comma. (``,``)
45862306a36Sopenharmony_ci
45962306a36Sopenharmony_ci			[No of entries],[log entry size],[Max number of entries supported]
46062306a36Sopenharmony_ci
46162306a36Sopenharmony_ci		log entry size identifies audit log size for the current BIOS version.
46262306a36Sopenharmony_ci		The current size is 16 bytes but it can be up to 128 bytes long in future BIOS
46362306a36Sopenharmony_ci		versions.
464