Re: [PATCH] powerpc/64s/radix: Define arch_ioremap_p4d_supported()
From: Michael Ellerman
Date: Thu Jun 27 2019 - 00:48:06 EST
Anshuman Khandual <anshuman.khandual@xxxxxxx> writes:
> Recent core ioremap changes require HAVE_ARCH_HUGE_VMAP subscribing archs
> provide arch_ioremap_p4d_supported() failing which will result in a build
> failure like the following.
>
> ld: lib/ioremap.o: in function `.ioremap_huge_init':
> ioremap.c:(.init.text+0x3c): undefined reference to
> `.arch_ioremap_p4d_supported'
>
> This defines a stub implementation for arch_ioremap_p4d_supported() keeping
> it disabled for now to fix the build problem.
The easiest option is for this to be folded into your patch that creates
the requirement for arch_ioremap_p4d_supported().
Andrew might do that for you, or you could send a v2.
This looks fine from a powerpc POV:
Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
cheers
> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
> Cc: Paul Mackerras <paulus@xxxxxxxxx>
> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
> Cc: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxx>
> Cc: Nicholas Piggin <npiggin@xxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Cc: linux-next@xxxxxxxxxxxxxxx
>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>
> ---
> This has been just build tested and fixes the problem reported earlier.
>
> arch/powerpc/mm/book3s64/radix_pgtable.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/powerpc/mm/book3s64/radix_pgtable.c b/arch/powerpc/mm/book3s64/radix_pgtable.c
> index 8904aa1..c81da88 100644
> --- a/arch/powerpc/mm/book3s64/radix_pgtable.c
> +++ b/arch/powerpc/mm/book3s64/radix_pgtable.c
> @@ -1124,6 +1124,11 @@ void radix__ptep_modify_prot_commit(struct vm_area_struct *vma,
> set_pte_at(mm, addr, ptep, pte);
> }
>
> +int __init arch_ioremap_p4d_supported(void)
> +{
> + return 0;
> +}
> +
> int __init arch_ioremap_pud_supported(void)
> {
> /* HPT does not cope with large pages in the vmalloc area */
> --
> 2.7.4