aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Konovalov <andrey.konovalov@linaro.org>2015-06-15 13:59:55 +0300
committerAndrey Konovalov <andrey.konovalov@linaro.org>2015-06-15 13:59:55 +0300
commit50b7043a496fc4e83e62def06644577e2dd44a04 (patch)
tree08525896cd68a8bca9185b87954c9dd2d46f110f
parent1ff40c3f754286a08631a2251e937197f507ca68 (diff)
parent1aa3ceb9f88e0486f52a676ad72defbf07df8177 (diff)
Merge branch 'tracking-llct-misc-fixes' into merge-linux-linaro-core-trackingtracking-llct-ll-20150619.0tracking-llct-ll-20150616.0llct-20150615.0
-rw-r--r--Makefile2
-rw-r--r--drivers/of/fdt.c10
2 files changed, 10 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 3ba504496cb2..641dfa951408 100644
--- a/Makefile
+++ b/Makefile
@@ -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;
}