Re: [PATCH v2 02/16] powerpc: override __ALIGN() and __ALIGN_STR() macros
From: Peter Zijlstra
Date: Mon Sep 05 2022 - 07:04:15 EST
On Mon, Aug 29, 2022 at 11:22:09AM +0530, Sathvika Vasireddy wrote:
> 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@xxxxxxxxxxxxx>
> ---
> 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)
Related thread:
https://lkml.kernel.org/r/YxXJswK9QjhCGmPN@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx