Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __SELFTESTS_POWERPC_PPC_ASM_H
3#define __SELFTESTS_POWERPC_PPC_ASM_H
4#include <ppc-asm.h>
5
6#define CONFIG_ALTIVEC
7
8#define r1 1
9
10#define R14 r14
11#define R15 r15
12#define R16 r16
13#define R17 r17
14#define R18 r18
15#define R19 r19
16#define R20 r20
17#define R21 r21
18#define R22 r22
19#define R29 r29
20#define R30 r30
21#define R31 r31
22
23#define STACKFRAMESIZE 256
24#define STK_REG(i) (112 + ((i)-14)*8)
25
26#define _GLOBAL(A) FUNC_START(test_ ## A)
27#define _GLOBAL_TOC(A) _GLOBAL(A)
28#define _GLOBAL_TOC_KASAN(A) _GLOBAL(A)
29
30#define PPC_MTOCRF(A, B) mtocrf A, B
31
32#define EX_TABLE(x, y) \
33 .section __ex_table,"a"; \
34 .8byte x, y; \
35 .previous
36
37#define BEGIN_FTR_SECTION .if test_feature
38#define FTR_SECTION_ELSE .else
39#define ALT_FTR_SECTION_END_IFCLR(x) .endif
40#define ALT_FTR_SECTION_END_IFSET(x) .endif
41#define ALT_FTR_SECTION_END(x, y) .endif
42#define END_FTR_SECTION_IFCLR(x) .endif
43#define END_FTR_SECTION_IFSET(x) .endif
44
45/* Default to taking the first of any alternative feature sections */
46test_feature = 1
47
48#endif /* __SELFTESTS_POWERPC_PPC_ASM_H */