[PATCH v2 02/16] powerpc: override __ALIGN() and __ALIGN_STR() macros

Christophe Leroy christophe.leroy at csgroup.eu
Mon Aug 29 23:26:56 AEST 2022



Le 29/08/2022 à 07:52, Sathvika Vasireddy a écrit :
> Powerpc instructions must be word-aligned. Currently,
> there is an alignment of 16 bytes (by default), and it is
> much more than what is required for powerpc (4 bytes).
> 
> The default expansion of __ALIGN() macro is:
> #define __ALIGN       .align 4,0x90
> 
> Since Powerpc Linux does not require a 16 byte alignment,
> override __ALIGN() and __ALIGN_STR() macros to use required
> 4 byte alignment.
> 
> Signed-off-by: Sathvika Vasireddy <sv at linux.ibm.com>
> ---
>   arch/powerpc/include/asm/linkage.h | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/arch/powerpc/include/asm/linkage.h b/arch/powerpc/include/asm/linkage.h
> index b71b9582e754..8df88fe61438 100644
> --- a/arch/powerpc/include/asm/linkage.h
> +++ b/arch/powerpc/include/asm/linkage.h
> @@ -2,8 +2,12 @@
>   #ifndef _ASM_POWERPC_LINKAGE_H
>   #define _ASM_POWERPC_LINKAGE_H
>   
> +#include <linux/stringify.h>
>   #include <asm/types.h>
>   
> +#define __ALIGN			.align 2
> +#define __ALIGN_STR		__stringify(__ALIGN)
> +

I still can't see the added value of using __stringify() macro here. In 
order to use that macro you have to include linux/stringify.h . Usually 
we try to minimise the amount of headers required by other headers.

>   #ifdef CONFIG_PPC64_ELF_ABI_V1
>   #define cond_syscall(x) \
>   	asm ("\t.weak " #x "\n\t.set " #x ", sys_ni_syscall\n"		\


More information about the Linuxppc-dev mailing list