diff options
author | Andrey Konovalov <andrey.konovalov@linaro.org> | 2015-06-08 16:03:49 +0300 |
---|---|---|
committer | Andrey Konovalov <andrey.konovalov@linaro.org> | 2015-06-08 16:03:49 +0300 |
commit | 56b972a9b76005246e6012febf10bba7f4dd1469 (patch) | |
tree | 00efc59ca5fef3c7b63d111d75d8d354a7dc5007 | |
parent | 15935fa3fa79b1cacaf33f3d7fa48d7c02effba1 (diff) | |
parent | 1aa3ceb9f88e0486f52a676ad72defbf07df8177 (diff) |
Merge branch 'tracking-llct-misc-fixes' into merge-linux-linaro-core-trackingllct-20150608.0
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | drivers/of/fdt.c | 10 |
2 files changed, 10 insertions, 2 deletions
@@ -656,6 +656,7 @@ ifdef CONFIG_CC_STACKPROTECTOR_REGULAR ifeq ($(call cc-option, $(stackp-flag)),) $(warning Cannot use CONFIG_CC_STACKPROTECTOR_REGULAR: \ -fstack-protector not supported by compiler) + stackp-flag := endif else ifdef CONFIG_CC_STACKPROTECTOR_STRONG @@ -663,6 +664,7 @@ ifdef CONFIG_CC_STACKPROTECTOR_STRONG ifeq ($(call cc-option, $(stackp-flag)),) $(warning Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: \ -fstack-protector-strong not supported by compiler) + stackp-flag := endif else # Force off for distro compilers that enable stack protector by default. diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index 64fea7c23450..9438dd05a0bd 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -28,6 +28,12 @@ #include <asm/setup.h> /* for COMMAND_LINE_SIZE */ #include <asm/page.h> +#ifdef CONFIG_ARM64 +#define fdt_crc_size_hack(_s) min(fdt_totalsize(_s),(unsigned)0x200000) +#else +#define fdt_crc_size_hack(_s) fdt_totalsize(_s) +#endif + /* * of_fdt_limit_memory - limit the number of regions in the /memory node * @limit: maximum entries @@ -1066,7 +1072,7 @@ bool __init early_init_dt_verify(void *params) /* Setup flat device-tree pointer */ initial_boot_params = params; of_fdt_crc32 = crc32_be(~0, initial_boot_params, - fdt_totalsize(initial_boot_params)); + fdt_crc_size_hack(initial_boot_params)); return true; } @@ -1162,7 +1168,7 @@ static int __init of_fdt_raw_init(void) return 0; if (of_fdt_crc32 != crc32_be(~0, initial_boot_params, - fdt_totalsize(initial_boot_params))) { + fdt_crc_size_hack(initial_boot_params))) { pr_warn("fdt: not creating '/sys/firmware/fdt': CRC check failed\n"); return 0; } |