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>tirimbino
parent
4fc756bd9d
commit
54fad532b2
@ -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. |
Loading…
Reference in new issue