Subject: Re: [RFC PATCH] PPC32: Fix build failure caused by missing dirty pte handlers

From: Luis Henriques <[email-masked]>
Date: Fri, 5 Feb 2016 16:03:53 +0000

On Mon, Jan 25, 2016 at 09:22:58AM -0500, Pranith Kumar wrote:
> In 4.5-rc1, I am getting a build failure as follows:
> 
> mm/memory.c: In function ‘do_swap_page’:
> mm/memory.c:2573:9: error: implicit declaration of function ‘pte_mksoft_dirty’
> [-Werror=implicit-function-declaration]
>    pte = pte_mksoft_dirty(pte);
> 
> The soft dirty pte handlers are declared only for PPC64 on PPC_BOOK3S in
> arch/powerpc/include/asm/book3s/64/hash.h and missing in the 32-bit arch.
> 
> Avoid this error by not setting HAVE_ARCH_SOFT_DIRTY for 32-bit system.
>

I am seeing this build failure too and I can confirm that this patch fixes
it.  I would just add a

Fixes: 7207f43665b8 ("powerpc/mm: Add page soft dirty tracking")

to this patch.  Feel free to add my 'Tested-by:'.

Cheers,
--
Luís

> Signed-off-by: Pranith Kumar <[email-masked]>
> ---
>  arch/powerpc/Kconfig | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index e4824fd..21cb5c5 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -557,7 +557,7 @@ choice
>  
>  config PPC_4K_PAGES
>  	bool "4k page size"
> -	select HAVE_ARCH_SOFT_DIRTY if CHECKPOINT_RESTORE && PPC_BOOK3S
> +	select HAVE_ARCH_SOFT_DIRTY if CHECKPOINT_RESTORE && PPC_BOOK3S && PPC64
>  
>  config PPC_16K_PAGES
>  	bool "16k page size"
> @@ -566,7 +566,7 @@ config PPC_16K_PAGES
>  config PPC_64K_PAGES
>  	bool "64k page size"
>  	depends on !PPC_FSL_BOOK3E && (44x || PPC_STD_MMU_64 || PPC_BOOK3E_64)
> -	select HAVE_ARCH_SOFT_DIRTY if CHECKPOINT_RESTORE && PPC_BOOK3S
> +	select HAVE_ARCH_SOFT_DIRTY if CHECKPOINT_RESTORE && PPC_BOOK3S && PPC64
>  
>  config PPC_256K_PAGES
>  	bool "256k page size"
> -- 
> 2.7.0
>