Re: [PATCH v5 02/16] powerpc: Override __ALIGN and __ALIGN_STR macros

From: Sathvika Vasireddy
Date: Sun Nov 13 2022 - 22:49:53 EST


Hi Peter,

On 03/11/22 14:18, Peter Zijlstra wrote:
On Wed, Nov 02, 2022 at 12:35:07PM +0000, Christophe Leroy wrote:

Le 28/10/2022 à 16:33, Sathvika Vasireddy a écrit :
In a subsequent patch, we would want to annotate powerpc assembly functions
with SYM_FUNC_START_LOCAL macro. This macro depends on __ALIGN macro.

The default expansion of __ALIGN macro is:
#define __ALIGN .align 4,0x90

So, override __ALIGN and __ALIGN_STR macros to use the same alignment as
that of the existing _GLOBAL macro. Also, do not pad with 0x90, because
repeated 0x90s are not a nop or trap on powerpc.
By the way, do we know what the instruction 0x90909090 is on powerpc ?
Is that something valid or not ?
Please also look at the version that's in tip/x86/core (and next). This
stuff should be gone now.

include/linux/linkage.h now reads like:

#ifndef __ALIGN
#define __ALIGN .balign CONFIG_FUNCTION_ALIGNMENT
#define __ALIGN_STR __stringify(__ALIGN)
#endif

Since the above mentioned changes are not a part of powerpc/merge branch yet, I am retaining this patch for this merge cycle and will post a cleanup patch (to move to using FUNCTION_ALIGNMENT_4B) after the next -rc1.

Thanks,
Sathvika