| .. SPDX-License-Identifier: GPL-2.0 | 
 |  | 
 | ======================================= | 
 | efivarfs - a (U)EFI variable filesystem | 
 | ======================================= | 
 |  | 
 | The efivarfs filesystem was created to address the shortcomings of | 
 | using entries in sysfs to maintain EFI variables. The old sysfs EFI | 
 | variables code only supported variables of up to 1024 bytes. This | 
 | limitation existed in version 0.99 of the EFI specification, but was | 
 | removed before any full releases. Since variables can now be larger | 
 | than a single page, sysfs isn't the best interface for this. | 
 |  | 
 | Variables can be created, deleted and modified with the efivarfs | 
 | filesystem. | 
 |  | 
 | efivarfs is typically mounted like this:: | 
 |  | 
 | 	mount -t efivarfs none /sys/firmware/efi/efivars | 
 |  | 
 | Due to the presence of numerous firmware bugs where removing non-standard | 
 | UEFI variables causes the system firmware to fail to POST, efivarfs | 
 | files that are not well-known standardized variables are created | 
 | as immutable files.  This doesn't prevent removal - "chattr -i" will work - | 
 | but it does prevent this kind of failure from being accomplished | 
 | accidentally. | 
 |  | 
 | .. warning :: | 
 |       When a content of an UEFI variable in /sys/firmware/efi/efivars is | 
 |       displayed, for example using "hexdump", pay attention that the first | 
 |       4 bytes of the output represent the UEFI variable attributes, | 
 |       in little-endian format. | 
 |  | 
 |       Practically the output of each efivar is composed of: | 
 |  | 
 |           +-----------------------------------+ | 
 |           |4_bytes_of_attributes + efivar_data| | 
 |           +-----------------------------------+ | 
 |  | 
 | *See also:* | 
 |  | 
 | - Documentation/admin-guide/acpi/ssdt-overlays.rst | 
 | - Documentation/ABI/removed/sysfs-firmware-efi-vars |