Messages in this thread | | | Date | Fri, 4 Aug 2023 14:39:24 +0800 | Subject | Re: [PATCH -next v3] arm64: fix build warning for ARM64_MEMSTART_SHIFT | From | "zhangjianhua (E)" <> |
| |
在 2023/8/4 14:24, Anshuman Khandual 写道: > > On 8/3/23 22:36, Catalin Marinas wrote: >> On Tue, Jul 25, 2023 at 08:24:04PM +0000, Zhang Jianhua wrote: >>> When building with W=1, the following warning occurs. >>> >>> arch/arm64/include/asm/kernel-pgtable.h:129:41: error: "PUD_SHIFT" is not defined, evaluates to 0 [-Werror=undef] >>> 129 | #define ARM64_MEMSTART_SHIFT PUD_SHIFT >>> | ^~~~~~~~~ >>> arch/arm64/include/asm/kernel-pgtable.h:142:5: note: in expansion of macro ‘ARM64_MEMSTART_SHIFT’ >>> 142 | #if ARM64_MEMSTART_SHIFT < SECTION_SIZE_BITS >>> | ^~~~~~~~~~~~~~~~~~~~ >>> >>> The reason is that PUD_SHIFT isn't defined if CONFIG_PGTABLE_LEVELS == 3 >>> and CONFIG_VA_BITS == 39. >> The correct description is that the generic PUD_SHIFT isn't defined for >> asm files, we still have it defined for C files (there's an #ifndef >> __ASSEMBLY__ guard). > Agreed, please rework the commit message explaining how generic PUD_SHIFT > definition is not available for assembly files, prompting this code block > movement. CONFIG_PGTABLE_LEVELS == 3 with CONFIG_VA_BITS == 39 just help > in exposing this problem. No problem, I will send a new patch soon. >>> Now move the macro ARM64_MEMSTART_SHIFT and >>> ARM64_MEMSTART_ALIGN to arch/arm64/mm/init.c where it is used to avoid >>> this issue, and also there is no other place to call these two macro. >>> >>> Signed-off-by: Zhang Jianhua <chris.zjh@huawei.com> >> This fix works for me. I'll leave it to Will for 6.6 as apart from the >> warning with W=1, there's no other issue (ARM64_MEMSTART_* are not used >> in any asm files). > Right, not real a problem to be fixed, this can wait till 6.6 > >> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> > Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com> >
| |