efivars: Add Documentation
This patch documents the interface exposed by the 'efivars' module. Signed-off-by: Mike Waychison <mikew@google.com> Cc: Matt Domsch <Matt_Domsch@dell.com>, Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
4fc756bd9d
commit
54fad532b2
75
Documentation/ABI/stable/sysfs-firmware-efi-vars
Normal file
75
Documentation/ABI/stable/sysfs-firmware-efi-vars
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
What: /sys/firmware/efi/vars
|
||||||
|
Date: April 2004
|
||||||
|
Contact: Matt Domsch <Matt_Domsch@dell.com>
|
||||||
|
Description:
|
||||||
|
This directory exposes interfaces for interactive with
|
||||||
|
EFI variables. For more information on EFI variables,
|
||||||
|
see 'Variable Services' in the UEFI specification
|
||||||
|
(section 7.2 in specification version 2.3 Errata D).
|
||||||
|
|
||||||
|
In summary, EFI variables are named, and are classified
|
||||||
|
into separate namespaces through the use of a vendor
|
||||||
|
GUID. They also have an arbitrary binary value
|
||||||
|
associated with them.
|
||||||
|
|
||||||
|
The efivars module enumerates these variables and
|
||||||
|
creates a separate directory for each one found. Each
|
||||||
|
directory has a name of the form "<key>-<vendor guid>"
|
||||||
|
and contains the following files:
|
||||||
|
|
||||||
|
attributes: A read-only text file enumerating the
|
||||||
|
EFI variable flags. Potential values
|
||||||
|
include:
|
||||||
|
|
||||||
|
EFI_VARIABLE_NON_VOLATILE
|
||||||
|
EFI_VARIABLE_BOOTSERVICE_ACCESS
|
||||||
|
EFI_VARIABLE_RUNTIME_ACCESS
|
||||||
|
EFI_VARIABLE_HARDWARE_ERROR_RECORD
|
||||||
|
EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS
|
||||||
|
|
||||||
|
See the EFI documentation for an
|
||||||
|
explanation of each of these variables.
|
||||||
|
|
||||||
|
data: A read-only binary file that can be read
|
||||||
|
to attain the value of the EFI variable
|
||||||
|
|
||||||
|
guid: The vendor GUID of the variable. This
|
||||||
|
should always match the GUID in the
|
||||||
|
variable's name.
|
||||||
|
|
||||||
|
raw_var: A binary file that can be read to obtain
|
||||||
|
a structure that contains everything
|
||||||
|
there is to know about the variable.
|
||||||
|
For structure definition see "struct
|
||||||
|
efi_variable" in the kernel sources.
|
||||||
|
|
||||||
|
This file can also be written to in
|
||||||
|
order to update the value of a variable.
|
||||||
|
For this to work however, all fields of
|
||||||
|
the "struct efi_variable" passed must
|
||||||
|
match byte for byte with the structure
|
||||||
|
read out of the file, save for the value
|
||||||
|
portion.
|
||||||
|
|
||||||
|
**Note** the efi_variable structure
|
||||||
|
read/written with this file contains a
|
||||||
|
'long' type that may change widths
|
||||||
|
depending on your underlying
|
||||||
|
architecture.
|
||||||
|
|
||||||
|
size: As ASCII representation of the size of
|
||||||
|
the variable's value.
|
||||||
|
|
||||||
|
|
||||||
|
In addition, two other magic binary files are provided
|
||||||
|
in the top-level directory and are used for adding and
|
||||||
|
removing variables:
|
||||||
|
|
||||||
|
new_var: Takes a "struct efi_variable" and
|
||||||
|
instructs the EFI firmware to create a
|
||||||
|
new variable.
|
||||||
|
|
||||||
|
del_var: Takes a "struct efi_variable" and
|
||||||
|
instructs the EFI firmware to remove any
|
||||||
|
variable that has a matching vendor GUID
|
||||||
|
and variable key name.
|
Reference in New Issue
Block a user