efi: Add support for a UEFI variable filesystem
authorMatthew Garrett <mjg@redhat.com>
Fri, 5 Oct 2012 05:54:56 +0000 (13:54 +0800)
committerMatt Fleming <matt.fleming@intel.com>
Tue, 30 Oct 2012 10:39:16 +0000 (10:39 +0000)
commit5d9db883761ad1bc2245fd3018715549b974203d
treef014ebfff596b735ad9b7628035cf830be632ff0
parentddffeb8c4d0331609ef2581d84de4d763607bd37
efi: Add support for a UEFI variable filesystem

The existing EFI variables code only supports 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. So,
instead, let's add a filesystem. Variables can be read, written and
created, with the first 4 bytes of each variable representing its UEFI
attributes. The create() method doesn't actually commit to flash since
zero-length variables can't exist per-spec.

Updates from Jeremy Kerr <jeremy.kerr@canonical.com>.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Jeremy Kerr <jeremy.kerr@canonical.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
drivers/firmware/efivars.c
include/linux/efi.h