efi: Capsule update support

Give userland an interface for passing binary blobs to the firmware via
the EFI capsule update mechanism. This is useful for performing firmware
upgrades.

A new hierarchy is created for all capsule data under,

    /sys/firmware/efi/capsule/

Multiple capsules can be loaded with something along the lines of,

    for f in $CAP_FILES; do
        echo 1 > /sys/firmware/efi/capsule/loading
        cat $f > /sys/firmware/efi/capsule/data
        echo 0 > /sys/firmware/efi/capsule/loading
    done

Loading of capsule data can be aborted by writing -1 to 'loading',

    echo -1 > /sys/firmware/efi/capsule/loading

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
7 files changed