Skip to content

Commit b8af599

Browse files
hcahcaAlexander Gordeev
authored andcommitted
s390/ptrace: make all psw related defines also available for asm
Use the _AC() macro to make all psw related defines also available for assembler files. Acked-by: Alexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
1 parent 6376402 commit b8af599

2 files changed

Lines changed: 84 additions & 85 deletions

File tree

arch/s390/include/asm/ptrace.h

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,40 @@
2323
#define _PIF_GUEST_FAULT BIT(PIF_GUEST_FAULT)
2424
#define _PIF_FTRACE_FULL_REGS BIT(PIF_FTRACE_FULL_REGS)
2525

26-
#define PSW_DEFAULT_KEY ((PAGE_DEFAULT_ACC) << 52)
26+
#define PSW32_MASK_PER _AC(0x40000000, UL)
27+
#define PSW32_MASK_DAT _AC(0x04000000, UL)
28+
#define PSW32_MASK_IO _AC(0x02000000, UL)
29+
#define PSW32_MASK_EXT _AC(0x01000000, UL)
30+
#define PSW32_MASK_KEY _AC(0x00F00000, UL)
31+
#define PSW32_MASK_BASE _AC(0x00080000, UL) /* Always one */
32+
#define PSW32_MASK_MCHECK _AC(0x00040000, UL)
33+
#define PSW32_MASK_WAIT _AC(0x00020000, UL)
34+
#define PSW32_MASK_PSTATE _AC(0x00010000, UL)
35+
#define PSW32_MASK_ASC _AC(0x0000C000, UL)
36+
#define PSW32_MASK_CC _AC(0x00003000, UL)
37+
#define PSW32_MASK_PM _AC(0x00000f00, UL)
38+
#define PSW32_MASK_RI _AC(0x00000080, UL)
39+
40+
#define PSW32_ADDR_AMODE _AC(0x80000000, UL)
41+
#define PSW32_ADDR_INSN _AC(0x7FFFFFFF, UL)
42+
43+
#define PSW32_DEFAULT_KEY ((PAGE_DEFAULT_ACC) << 20)
44+
45+
#define PSW32_ASC_PRIMARY _AC(0x00000000, UL)
46+
#define PSW32_ASC_ACCREG _AC(0x00004000, UL)
47+
#define PSW32_ASC_SECONDARY _AC(0x00008000, UL)
48+
#define PSW32_ASC_HOME _AC(0x0000C000, UL)
2749

28-
#ifndef __ASSEMBLY__
50+
#define PSW_DEFAULT_KEY ((PAGE_DEFAULT_ACC) << 52)
2951

3052
#define PSW_KERNEL_BITS (PSW_DEFAULT_KEY | PSW_MASK_BASE | PSW_ASC_HOME | \
3153
PSW_MASK_EA | PSW_MASK_BA | PSW_MASK_DAT)
3254
#define PSW_USER_BITS (PSW_MASK_DAT | PSW_MASK_IO | PSW_MASK_EXT | \
3355
PSW_DEFAULT_KEY | PSW_MASK_BASE | PSW_MASK_MCHECK | \
3456
PSW_MASK_PSTATE | PSW_ASC_PRIMARY)
3557

58+
#ifndef __ASSEMBLY__
59+
3660
struct psw_bits {
3761
unsigned long : 1;
3862
unsigned long per : 1; /* PER-Mask */
@@ -73,30 +97,6 @@ enum {
7397
&(*(struct psw_bits *)(&(__psw))); \
7498
}))
7599

76-
#define PSW32_MASK_PER 0x40000000UL
77-
#define PSW32_MASK_DAT 0x04000000UL
78-
#define PSW32_MASK_IO 0x02000000UL
79-
#define PSW32_MASK_EXT 0x01000000UL
80-
#define PSW32_MASK_KEY 0x00F00000UL
81-
#define PSW32_MASK_BASE 0x00080000UL /* Always one */
82-
#define PSW32_MASK_MCHECK 0x00040000UL
83-
#define PSW32_MASK_WAIT 0x00020000UL
84-
#define PSW32_MASK_PSTATE 0x00010000UL
85-
#define PSW32_MASK_ASC 0x0000C000UL
86-
#define PSW32_MASK_CC 0x00003000UL
87-
#define PSW32_MASK_PM 0x00000f00UL
88-
#define PSW32_MASK_RI 0x00000080UL
89-
90-
#define PSW32_ADDR_AMODE 0x80000000UL
91-
#define PSW32_ADDR_INSN 0x7FFFFFFFUL
92-
93-
#define PSW32_DEFAULT_KEY (((u32)PAGE_DEFAULT_ACC) << 20)
94-
95-
#define PSW32_ASC_PRIMARY 0x00000000UL
96-
#define PSW32_ASC_ACCREG 0x00004000UL
97-
#define PSW32_ASC_SECONDARY 0x00008000UL
98-
#define PSW32_ASC_HOME 0x0000C000UL
99-
100100
typedef struct {
101101
unsigned int mask;
102102
unsigned int addr;

arch/s390/include/uapi/asm/ptrace.h

Lines changed: 58 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,64 @@
166166

167167
#endif /* __s390x__ */
168168

169+
#ifndef __s390x__
170+
171+
#define PSW_MASK_PER _AC(0x40000000, UL)
172+
#define PSW_MASK_DAT _AC(0x04000000, UL)
173+
#define PSW_MASK_IO _AC(0x02000000, UL)
174+
#define PSW_MASK_EXT _AC(0x01000000, UL)
175+
#define PSW_MASK_KEY _AC(0x00F00000, UL)
176+
#define PSW_MASK_BASE _AC(0x00080000, UL) /* always one */
177+
#define PSW_MASK_MCHECK _AC(0x00040000, UL)
178+
#define PSW_MASK_WAIT _AC(0x00020000, UL)
179+
#define PSW_MASK_PSTATE _AC(0x00010000, UL)
180+
#define PSW_MASK_ASC _AC(0x0000C000, UL)
181+
#define PSW_MASK_CC _AC(0x00003000, UL)
182+
#define PSW_MASK_PM _AC(0x00000F00, UL)
183+
#define PSW_MASK_RI _AC(0x00000000, UL)
184+
#define PSW_MASK_EA _AC(0x00000000, UL)
185+
#define PSW_MASK_BA _AC(0x00000000, UL)
186+
187+
#define PSW_MASK_USER _AC(0x0000FF00, UL)
188+
189+
#define PSW_ADDR_AMODE _AC(0x80000000, UL)
190+
#define PSW_ADDR_INSN _AC(0x7FFFFFFF, UL)
191+
192+
#define PSW_ASC_PRIMARY _AC(0x00000000, UL)
193+
#define PSW_ASC_ACCREG _AC(0x00004000, UL)
194+
#define PSW_ASC_SECONDARY _AC(0x00008000, UL)
195+
#define PSW_ASC_HOME _AC(0x0000C000, UL)
196+
197+
#else /* __s390x__ */
198+
199+
#define PSW_MASK_PER _AC(0x4000000000000000, UL)
200+
#define PSW_MASK_DAT _AC(0x0400000000000000, UL)
201+
#define PSW_MASK_IO _AC(0x0200000000000000, UL)
202+
#define PSW_MASK_EXT _AC(0x0100000000000000, UL)
203+
#define PSW_MASK_BASE _AC(0x0000000000000000, UL)
204+
#define PSW_MASK_KEY _AC(0x00F0000000000000, UL)
205+
#define PSW_MASK_MCHECK _AC(0x0004000000000000, UL)
206+
#define PSW_MASK_WAIT _AC(0x0002000000000000, UL)
207+
#define PSW_MASK_PSTATE _AC(0x0001000000000000, UL)
208+
#define PSW_MASK_ASC _AC(0x0000C00000000000, UL)
209+
#define PSW_MASK_CC _AC(0x0000300000000000, UL)
210+
#define PSW_MASK_PM _AC(0x00000F0000000000, UL)
211+
#define PSW_MASK_RI _AC(0x0000008000000000, UL)
212+
#define PSW_MASK_EA _AC(0x0000000100000000, UL)
213+
#define PSW_MASK_BA _AC(0x0000000080000000, UL)
214+
215+
#define PSW_MASK_USER _AC(0x0000FF0180000000, UL)
216+
217+
#define PSW_ADDR_AMODE _AC(0x0000000000000000, UL)
218+
#define PSW_ADDR_INSN _AC(0xFFFFFFFFFFFFFFFF, UL)
219+
220+
#define PSW_ASC_PRIMARY _AC(0x0000000000000000, UL)
221+
#define PSW_ASC_ACCREG _AC(0x0000400000000000, UL)
222+
#define PSW_ASC_SECONDARY _AC(0x0000800000000000, UL)
223+
#define PSW_ASC_HOME _AC(0x0000C00000000000, UL)
224+
225+
#endif /* __s390x__ */
226+
169227
#define NUM_GPRS 16
170228
#define NUM_FPRS 16
171229
#define NUM_CRS 16
@@ -214,65 +272,6 @@ typedef struct {
214272
unsigned long addr;
215273
} __attribute__ ((aligned(8))) psw_t;
216274

217-
#ifndef __s390x__
218-
219-
#define PSW_MASK_PER 0x40000000UL
220-
#define PSW_MASK_DAT 0x04000000UL
221-
#define PSW_MASK_IO 0x02000000UL
222-
#define PSW_MASK_EXT 0x01000000UL
223-
#define PSW_MASK_KEY 0x00F00000UL
224-
#define PSW_MASK_BASE 0x00080000UL /* always one */
225-
#define PSW_MASK_MCHECK 0x00040000UL
226-
#define PSW_MASK_WAIT 0x00020000UL
227-
#define PSW_MASK_PSTATE 0x00010000UL
228-
#define PSW_MASK_ASC 0x0000C000UL
229-
#define PSW_MASK_CC 0x00003000UL
230-
#define PSW_MASK_PM 0x00000F00UL
231-
#define PSW_MASK_RI 0x00000000UL
232-
#define PSW_MASK_EA 0x00000000UL
233-
#define PSW_MASK_BA 0x00000000UL
234-
235-
#define PSW_MASK_USER 0x0000FF00UL
236-
237-
#define PSW_ADDR_AMODE 0x80000000UL
238-
#define PSW_ADDR_INSN 0x7FFFFFFFUL
239-
240-
#define PSW_ASC_PRIMARY 0x00000000UL
241-
#define PSW_ASC_ACCREG 0x00004000UL
242-
#define PSW_ASC_SECONDARY 0x00008000UL
243-
#define PSW_ASC_HOME 0x0000C000UL
244-
245-
#else /* __s390x__ */
246-
247-
#define PSW_MASK_PER 0x4000000000000000UL
248-
#define PSW_MASK_DAT 0x0400000000000000UL
249-
#define PSW_MASK_IO 0x0200000000000000UL
250-
#define PSW_MASK_EXT 0x0100000000000000UL
251-
#define PSW_MASK_BASE 0x0000000000000000UL
252-
#define PSW_MASK_KEY 0x00F0000000000000UL
253-
#define PSW_MASK_MCHECK 0x0004000000000000UL
254-
#define PSW_MASK_WAIT 0x0002000000000000UL
255-
#define PSW_MASK_PSTATE 0x0001000000000000UL
256-
#define PSW_MASK_ASC 0x0000C00000000000UL
257-
#define PSW_MASK_CC 0x0000300000000000UL
258-
#define PSW_MASK_PM 0x00000F0000000000UL
259-
#define PSW_MASK_RI 0x0000008000000000UL
260-
#define PSW_MASK_EA 0x0000000100000000UL
261-
#define PSW_MASK_BA 0x0000000080000000UL
262-
263-
#define PSW_MASK_USER 0x0000FF0180000000UL
264-
265-
#define PSW_ADDR_AMODE 0x0000000000000000UL
266-
#define PSW_ADDR_INSN 0xFFFFFFFFFFFFFFFFUL
267-
268-
#define PSW_ASC_PRIMARY 0x0000000000000000UL
269-
#define PSW_ASC_ACCREG 0x0000400000000000UL
270-
#define PSW_ASC_SECONDARY 0x0000800000000000UL
271-
#define PSW_ASC_HOME 0x0000C00000000000UL
272-
273-
#endif /* __s390x__ */
274-
275-
276275
/*
277276
* The s390_regs structure is used to define the elf_gregset_t.
278277
*/

0 commit comments

Comments
 (0)