diff options
author | Andrey Konovalov <andrey.konovalov@linaro.org> | 2015-07-08 18:49:31 +0300 |
---|---|---|
committer | Andrey Konovalov <andrey.konovalov@linaro.org> | 2015-07-08 18:49:31 +0300 |
commit | b6ef4326f389df0c2f0b6e9fcbb0ee23456a806c (patch) | |
tree | 31d839fb75914ecc72f98bf31df862b795ae3b1b | |
parent | 5a30e3b00a1f239d94ee96cc01e5e8c37fdf4bd6 (diff) | |
parent | cc855a32edfe24e3fadd0f21c0cb1edac095d641 (diff) |
Merge branch 'tracking-llct-misc-fixes' into merge-linux-linaro-core-trackingllct-20150708.0
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | drivers/of/fdt.c | 10 |
2 files changed, 10 insertions, 2 deletions
@@ -646,6 +646,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 @@ -653,6 +654,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 07496560e5b9..53f8c828265d 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 @@ -1059,7 +1065,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; } @@ -1155,7 +1161,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; } |