| What: /sys/firmware/secvar | |
| Date: August 2019 | |
| Contact: Nayna Jain <nayna@linux.ibm.com> | |
| Description: This directory is created if the POWER firmware supports OS | |
| secureboot, thereby secure variables. It exposes interface | |
| for reading/writing the secure variables | |
| What: /sys/firmware/secvar/vars | |
| Date: August 2019 | |
| Contact: Nayna Jain <nayna@linux.ibm.com> | |
| Description: This directory lists all the secure variables that are supported | |
| by the firmware. | |
| What: /sys/firmware/secvar/format | |
| Date: August 2019 | |
| Contact: Nayna Jain <nayna@linux.ibm.com> | |
| Description: A string indicating which backend is in use by the firmware. | |
| This determines the format of the variable and the accepted | |
| format of variable updates. | |
| On powernv/OPAL, this value is provided by the OPAL firmware | |
| and is expected to be "ibm,edk2-compat-v1". | |
| On pseries/PLPKS, this is generated by the kernel based on the | |
| version number in the SB_VERSION variable in the keystore, and | |
| has the form "ibm,plpks-sb-v<version>", or | |
| "ibm,plpks-sb-unknown" if there is no SB_VERSION variable. | |
| What: /sys/firmware/secvar/vars/<variable name> | |
| Date: August 2019 | |
| Contact: Nayna Jain <nayna@linux.ibm.com> | |
| Description: Each secure variable is represented as a directory named as | |
| <variable_name>. The variable name is unique and is in ASCII | |
| representation. The data and size can be determined by reading | |
| their respective attribute files. | |
| What: /sys/firmware/secvar/vars/<variable_name>/size | |
| Date: August 2019 | |
| Contact: Nayna Jain <nayna@linux.ibm.com> | |
| Description: An integer representation of the size of the content of the | |
| variable. In other words, it represents the size of the data. | |
| What: /sys/firmware/secvar/vars/<variable_name>/data | |
| Date: August 2019 | |
| Contact: Nayna Jain <nayna@linux.ibm.com> | |
| Description: A read-only file containing the value of the variable. The size | |
| of the file represents the maximum size of the variable data. | |
| What: /sys/firmware/secvar/vars/<variable_name>/update | |
| Date: August 2019 | |
| Contact: Nayna Jain <nayna@linux.ibm.com> | |
| Description: A write-only file that is used to submit the new value for the | |
| variable. The size of the file represents the maximum size of | |
| the variable data that can be written. | |
| What: /sys/firmware/secvar/config | |
| Date: February 2023 | |
| Contact: Nayna Jain <nayna@linux.ibm.com> | |
| Description: This optional directory contains read-only config attributes as | |
| defined by the secure variable implementation. All data is in | |
| ASCII format. The directory is only created if the backing | |
| implementation provides variables to populate it, which at | |
| present is only PLPKS on the pseries platform. | |
| What: /sys/firmware/secvar/config/version | |
| Date: February 2023 | |
| Contact: Nayna Jain <nayna@linux.ibm.com> | |
| Description: Config version as reported by the hypervisor in ASCII decimal | |
| format. | |
| Currently only provided by PLPKS on the pseries platform. | |
| What: /sys/firmware/secvar/config/max_object_size | |
| Date: February 2023 | |
| Contact: Nayna Jain <nayna@linux.ibm.com> | |
| Description: Maximum allowed size of objects in the keystore in bytes, | |
| represented in ASCII decimal format. | |
| This is not necessarily the same as the max size that can be | |
| written to an update file as writes can contain more than | |
| object data, you should use the size of the update file for | |
| that purpose. | |
| Currently only provided by PLPKS on the pseries platform. | |
| What: /sys/firmware/secvar/config/total_size | |
| Date: February 2023 | |
| Contact: Nayna Jain <nayna@linux.ibm.com> | |
| Description: Total size of the PLPKS in bytes, represented in ASCII decimal | |
| format. | |
| Currently only provided by PLPKS on the pseries platform. | |
| What: /sys/firmware/secvar/config/used_space | |
| Date: February 2023 | |
| Contact: Nayna Jain <nayna@linux.ibm.com> | |
| Description: Current space consumed by the key store, in bytes, represented | |
| in ASCII decimal format. | |
| Currently only provided by PLPKS on the pseries platform. | |
| What: /sys/firmware/secvar/config/supported_policies | |
| Date: February 2023 | |
| Contact: Nayna Jain <nayna@linux.ibm.com> | |
| Description: Bitmask of supported policy flags by the hypervisor, | |
| represented as an 8 byte hexadecimal ASCII string. Consult the | |
| hypervisor documentation for what these flags are. | |
| Currently only provided by PLPKS on the pseries platform. | |
| What: /sys/firmware/secvar/config/signed_update_algorithms | |
| Date: February 2023 | |
| Contact: Nayna Jain <nayna@linux.ibm.com> | |
| Description: Bitmask of flags indicating which algorithms the hypervisor | |
| supports for signed update of objects, represented as a 16 byte | |
| hexadecimal ASCII string. Consult the hypervisor documentation | |
| for what these flags mean. | |
| Currently only provided by PLPKS on the pseries platform. |