[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ce4e5bfa-6a98-4d5d-d91f-d91835010f71@arm.com>
Date: Fri, 4 Aug 2023 11:54:10 +0530
From: Anshuman Khandual <anshuman.khandual@....com>
To: Catalin Marinas <catalin.marinas@....com>,
Zhang Jianhua <chris.zjh@...wei.com>
Cc: will@...nel.org, mark.rutland@....com, ryan.roberts@....com,
joey.gouly@....com, ardb@...nel.org, bhe@...hat.com,
thunder.leizhen@...wei.com, broonie@...nel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH -next v3] arm64: fix build warning for
ARM64_MEMSTART_SHIFT
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.
>
>> 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@...wei.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@....com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@....com>
Powered by blists - more mailing lists