diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2014-11-14 18:05:35 +0100 |
---|---|---|
committer | Grant Likely <grant.likely@linaro.org> | 2014-11-19 15:09:49 +0000 |
commit | 08d53aa58cb162e65e25dbe31d28438657cb8e33 (patch) | |
tree | 2fdc4912e8036703fce7c4638ab2a4ea17fac034 /drivers/of/Kconfig | |
parent | 53a4ab96c61a34d62717b1481f6043e0b4338d74 (diff) | |
download | lwn-08d53aa58cb162e65e25dbe31d28438657cb8e33.tar.gz lwn-08d53aa58cb162e65e25dbe31d28438657cb8e33.zip |
of/fdt: export fdt blob as /sys/firmware/fdt
Create a new /sys entry '/sys/firmware/fdt' to export the FDT blob
that was passed to the kernel by the bootloader. This allows userland
applications such as kexec to access the raw binary.
The fact that this node does not reside under /sys/firmware/device-tree
is deliberate: FDT is also used on arm64 UEFI/ACPI systems to
communicate just the UEFI and ACPI entry points, but the FDT is never
unflattened and used to configure the system.
A CRC32 checksum is calculated over the entire FDT blob, and verified
at late_initcall time. The sysfs entry is instantiated only if the
checksum is valid, i.e., if the FDT blob has not been modified in the
mean time. Otherwise, a warning is printed.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Grant Likely <grant.likely@linaro.org>
Diffstat (limited to 'drivers/of/Kconfig')
-rw-r--r-- | drivers/of/Kconfig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig index be16ce2ffd69..fbe8f8d418f7 100644 --- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig @@ -23,6 +23,7 @@ config OF_FLATTREE bool select DTC select LIBFDT + select CRC32 config OF_EARLY_FLATTREE bool |