From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754891AbcIAK7e (ORCPT ); Thu, 1 Sep 2016 06:59:34 -0400 Received: from sender153-mail.zoho.com ([74.201.84.153]:21889 "EHLO sender153-mail.zoho.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754350AbcIAK7Z (ORCPT ); Thu, 1 Sep 2016 06:59:25 -0400 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=zapps768; d=zoho.com; h=to:cc:from:subject:message-id:date:user-agent:mime-version:content-type; b=NfvBar6WxUQ2plfgT2EAJt5rtbkQgoLqYo7VzU0Yuz57sSfQRI0v9sheCduw7vbVicGKePw7rvFJ 3Pzcn+zd1ZPf128uPhrF19zowYmK4vldEqKQdrtim51Jqby1MR9u To: catalin.marinas@arm.com, will.deacon@arm.com, robh+dt@kernel.org, frowand.list@gmail.com Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, zijun_hu@htc.com From: zijun_hu Subject: [PATCH 2/2] arm64: regard FDT_SW_MAGIC as good fdt magic Message-ID: Date: Thu, 1 Sep 2016 18:58:29 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: zijun_hu regard FDT_SW_MAGIC as good fdt magic during mapping fdt area see fdt_check_header() for details Signed-off-by: zijun_hu --- arch/arm64/mm/mmu.c | 3 ++- scripts/dtc/libfdt/fdt.h | 3 ++- scripts/dtc/libfdt/libfdt.h | 2 ++ scripts/dtc/libfdt/libfdt_internal.h | 2 -- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c index 4989948d1feb..83df20509eae 100644 --- a/arch/arm64/mm/mmu.c +++ b/arch/arm64/mm/mmu.c @@ -716,7 +716,8 @@ void *__init __fixmap_remap_fdt(phys_addr_t dt_phys, int *size, pgprot_t prot) create_mapping_noalloc(round_down(dt_phys, SWAPPER_BLOCK_SIZE), dt_virt_base, SWAPPER_BLOCK_SIZE, prot); - if (fdt_magic(dt_virt) != FDT_MAGIC) + if (fdt_magic(dt_virt) != FDT_MAGIC && + fdt_magic(dt_virt) != FDT_SW_MAGIC) return NULL; *size = fdt_totalsize(dt_virt); diff --git a/scripts/dtc/libfdt/fdt.h b/scripts/dtc/libfdt/fdt.h index 526aedb51556..0e8806327b53 100644 --- a/scripts/dtc/libfdt/fdt.h +++ b/scripts/dtc/libfdt/fdt.h @@ -92,7 +92,8 @@ struct fdt_property { #endif /* !__ASSEMBLY */ -#define FDT_MAGIC 0xd00dfeed /* 4: version, 4: total size */ +/* 4: version, 4: total size */ +#define FDT_MAGIC ((fdt32_t)0xd00dfeed) #define FDT_TAGSIZE sizeof(fdt32_t) #define FDT_BEGIN_NODE 0x1 /* Start node: full name */ diff --git a/scripts/dtc/libfdt/libfdt.h b/scripts/dtc/libfdt/libfdt.h index 59ca33976e56..6998f9249183 100644 --- a/scripts/dtc/libfdt/libfdt.h +++ b/scripts/dtc/libfdt/libfdt.h @@ -54,6 +54,8 @@ #include "libfdt_env.h" #include "fdt.h" +#define FDT_SW_MAGIC (~FDT_MAGIC) + #define FDT_FIRST_SUPPORTED_VERSION 0x10 #define FDT_LAST_SUPPORTED_VERSION 0x11 diff --git a/scripts/dtc/libfdt/libfdt_internal.h b/scripts/dtc/libfdt/libfdt_internal.h index 02cfa6fb612d..f4efde0119f2 100644 --- a/scripts/dtc/libfdt/libfdt_internal.h +++ b/scripts/dtc/libfdt/libfdt_internal.h @@ -90,6 +90,4 @@ static inline struct fdt_reserve_entry *_fdt_mem_rsv_w(void *fdt, int n) return (void *)(uintptr_t)_fdt_mem_rsv(fdt, n); } -#define FDT_SW_MAGIC (~FDT_MAGIC) - #endif /* _LIBFDT_INTERNAL_H */ -- 1.9.1