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. Tested-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> Reviewed-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Signed-off-by: Sathvika Vasireddy <sv@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20221114175754.1131267-3-sv@linux.ibm.com
20 lines
566 B
C
20 lines
566 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _ASM_POWERPC_LINKAGE_H
|
|
#define _ASM_POWERPC_LINKAGE_H
|
|
|
|
#include <asm/types.h>
|
|
|
|
#define __ALIGN .align 2
|
|
#define __ALIGN_STR ".align 2"
|
|
|
|
#ifdef CONFIG_PPC64_ELF_ABI_V1
|
|
#define cond_syscall(x) \
|
|
asm ("\t.weak " #x "\n\t.set " #x ", sys_ni_syscall\n" \
|
|
"\t.weak ." #x "\n\t.set ." #x ", .sys_ni_syscall\n")
|
|
#define SYSCALL_ALIAS(alias, name) \
|
|
asm ("\t.globl " #alias "\n\t.set " #alias ", " #name "\n" \
|
|
"\t.globl ." #alias "\n\t.set ." #alias ", ." #name)
|
|
#endif
|
|
|
|
#endif /* _ASM_POWERPC_LINKAGE_H */
|