mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-18 13:14:01 +00:00
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>
This commit is contained in:
parent
6376402841
commit
b8af599977
2 changed files with 84 additions and 85 deletions
|
@ -23,9 +23,31 @@
|
|||
#define _PIF_GUEST_FAULT BIT(PIF_GUEST_FAULT)
|
||||
#define _PIF_FTRACE_FULL_REGS BIT(PIF_FTRACE_FULL_REGS)
|
||||
|
||||
#define PSW_DEFAULT_KEY ((PAGE_DEFAULT_ACC) << 52)
|
||||
#define PSW32_MASK_PER _AC(0x40000000, UL)
|
||||
#define PSW32_MASK_DAT _AC(0x04000000, UL)
|
||||
#define PSW32_MASK_IO _AC(0x02000000, UL)
|
||||
#define PSW32_MASK_EXT _AC(0x01000000, UL)
|
||||
#define PSW32_MASK_KEY _AC(0x00F00000, UL)
|
||||
#define PSW32_MASK_BASE _AC(0x00080000, UL) /* Always one */
|
||||
#define PSW32_MASK_MCHECK _AC(0x00040000, UL)
|
||||
#define PSW32_MASK_WAIT _AC(0x00020000, UL)
|
||||
#define PSW32_MASK_PSTATE _AC(0x00010000, UL)
|
||||
#define PSW32_MASK_ASC _AC(0x0000C000, UL)
|
||||
#define PSW32_MASK_CC _AC(0x00003000, UL)
|
||||
#define PSW32_MASK_PM _AC(0x00000f00, UL)
|
||||
#define PSW32_MASK_RI _AC(0x00000080, UL)
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
#define PSW32_ADDR_AMODE _AC(0x80000000, UL)
|
||||
#define PSW32_ADDR_INSN _AC(0x7FFFFFFF, UL)
|
||||
|
||||
#define PSW32_DEFAULT_KEY ((PAGE_DEFAULT_ACC) << 20)
|
||||
|
||||
#define PSW32_ASC_PRIMARY _AC(0x00000000, UL)
|
||||
#define PSW32_ASC_ACCREG _AC(0x00004000, UL)
|
||||
#define PSW32_ASC_SECONDARY _AC(0x00008000, UL)
|
||||
#define PSW32_ASC_HOME _AC(0x0000C000, UL)
|
||||
|
||||
#define PSW_DEFAULT_KEY ((PAGE_DEFAULT_ACC) << 52)
|
||||
|
||||
#define PSW_KERNEL_BITS (PSW_DEFAULT_KEY | PSW_MASK_BASE | PSW_ASC_HOME | \
|
||||
PSW_MASK_EA | PSW_MASK_BA | PSW_MASK_DAT)
|
||||
|
@ -33,6 +55,8 @@
|
|||
PSW_DEFAULT_KEY | PSW_MASK_BASE | PSW_MASK_MCHECK | \
|
||||
PSW_MASK_PSTATE | PSW_ASC_PRIMARY)
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
struct psw_bits {
|
||||
unsigned long : 1;
|
||||
unsigned long per : 1; /* PER-Mask */
|
||||
|
@ -73,30 +97,6 @@ enum {
|
|||
&(*(struct psw_bits *)(&(__psw))); \
|
||||
}))
|
||||
|
||||
#define PSW32_MASK_PER 0x40000000UL
|
||||
#define PSW32_MASK_DAT 0x04000000UL
|
||||
#define PSW32_MASK_IO 0x02000000UL
|
||||
#define PSW32_MASK_EXT 0x01000000UL
|
||||
#define PSW32_MASK_KEY 0x00F00000UL
|
||||
#define PSW32_MASK_BASE 0x00080000UL /* Always one */
|
||||
#define PSW32_MASK_MCHECK 0x00040000UL
|
||||
#define PSW32_MASK_WAIT 0x00020000UL
|
||||
#define PSW32_MASK_PSTATE 0x00010000UL
|
||||
#define PSW32_MASK_ASC 0x0000C000UL
|
||||
#define PSW32_MASK_CC 0x00003000UL
|
||||
#define PSW32_MASK_PM 0x00000f00UL
|
||||
#define PSW32_MASK_RI 0x00000080UL
|
||||
|
||||
#define PSW32_ADDR_AMODE 0x80000000UL
|
||||
#define PSW32_ADDR_INSN 0x7FFFFFFFUL
|
||||
|
||||
#define PSW32_DEFAULT_KEY (((u32)PAGE_DEFAULT_ACC) << 20)
|
||||
|
||||
#define PSW32_ASC_PRIMARY 0x00000000UL
|
||||
#define PSW32_ASC_ACCREG 0x00004000UL
|
||||
#define PSW32_ASC_SECONDARY 0x00008000UL
|
||||
#define PSW32_ASC_HOME 0x0000C000UL
|
||||
|
||||
typedef struct {
|
||||
unsigned int mask;
|
||||
unsigned int addr;
|
||||
|
|
|
@ -166,6 +166,64 @@
|
|||
|
||||
#endif /* __s390x__ */
|
||||
|
||||
#ifndef __s390x__
|
||||
|
||||
#define PSW_MASK_PER _AC(0x40000000, UL)
|
||||
#define PSW_MASK_DAT _AC(0x04000000, UL)
|
||||
#define PSW_MASK_IO _AC(0x02000000, UL)
|
||||
#define PSW_MASK_EXT _AC(0x01000000, UL)
|
||||
#define PSW_MASK_KEY _AC(0x00F00000, UL)
|
||||
#define PSW_MASK_BASE _AC(0x00080000, UL) /* always one */
|
||||
#define PSW_MASK_MCHECK _AC(0x00040000, UL)
|
||||
#define PSW_MASK_WAIT _AC(0x00020000, UL)
|
||||
#define PSW_MASK_PSTATE _AC(0x00010000, UL)
|
||||
#define PSW_MASK_ASC _AC(0x0000C000, UL)
|
||||
#define PSW_MASK_CC _AC(0x00003000, UL)
|
||||
#define PSW_MASK_PM _AC(0x00000F00, UL)
|
||||
#define PSW_MASK_RI _AC(0x00000000, UL)
|
||||
#define PSW_MASK_EA _AC(0x00000000, UL)
|
||||
#define PSW_MASK_BA _AC(0x00000000, UL)
|
||||
|
||||
#define PSW_MASK_USER _AC(0x0000FF00, UL)
|
||||
|
||||
#define PSW_ADDR_AMODE _AC(0x80000000, UL)
|
||||
#define PSW_ADDR_INSN _AC(0x7FFFFFFF, UL)
|
||||
|
||||
#define PSW_ASC_PRIMARY _AC(0x00000000, UL)
|
||||
#define PSW_ASC_ACCREG _AC(0x00004000, UL)
|
||||
#define PSW_ASC_SECONDARY _AC(0x00008000, UL)
|
||||
#define PSW_ASC_HOME _AC(0x0000C000, UL)
|
||||
|
||||
#else /* __s390x__ */
|
||||
|
||||
#define PSW_MASK_PER _AC(0x4000000000000000, UL)
|
||||
#define PSW_MASK_DAT _AC(0x0400000000000000, UL)
|
||||
#define PSW_MASK_IO _AC(0x0200000000000000, UL)
|
||||
#define PSW_MASK_EXT _AC(0x0100000000000000, UL)
|
||||
#define PSW_MASK_BASE _AC(0x0000000000000000, UL)
|
||||
#define PSW_MASK_KEY _AC(0x00F0000000000000, UL)
|
||||
#define PSW_MASK_MCHECK _AC(0x0004000000000000, UL)
|
||||
#define PSW_MASK_WAIT _AC(0x0002000000000000, UL)
|
||||
#define PSW_MASK_PSTATE _AC(0x0001000000000000, UL)
|
||||
#define PSW_MASK_ASC _AC(0x0000C00000000000, UL)
|
||||
#define PSW_MASK_CC _AC(0x0000300000000000, UL)
|
||||
#define PSW_MASK_PM _AC(0x00000F0000000000, UL)
|
||||
#define PSW_MASK_RI _AC(0x0000008000000000, UL)
|
||||
#define PSW_MASK_EA _AC(0x0000000100000000, UL)
|
||||
#define PSW_MASK_BA _AC(0x0000000080000000, UL)
|
||||
|
||||
#define PSW_MASK_USER _AC(0x0000FF0180000000, UL)
|
||||
|
||||
#define PSW_ADDR_AMODE _AC(0x0000000000000000, UL)
|
||||
#define PSW_ADDR_INSN _AC(0xFFFFFFFFFFFFFFFF, UL)
|
||||
|
||||
#define PSW_ASC_PRIMARY _AC(0x0000000000000000, UL)
|
||||
#define PSW_ASC_ACCREG _AC(0x0000400000000000, UL)
|
||||
#define PSW_ASC_SECONDARY _AC(0x0000800000000000, UL)
|
||||
#define PSW_ASC_HOME _AC(0x0000C00000000000, UL)
|
||||
|
||||
#endif /* __s390x__ */
|
||||
|
||||
#define NUM_GPRS 16
|
||||
#define NUM_FPRS 16
|
||||
#define NUM_CRS 16
|
||||
|
@ -214,65 +272,6 @@ typedef struct {
|
|||
unsigned long addr;
|
||||
} __attribute__ ((aligned(8))) psw_t;
|
||||
|
||||
#ifndef __s390x__
|
||||
|
||||
#define PSW_MASK_PER 0x40000000UL
|
||||
#define PSW_MASK_DAT 0x04000000UL
|
||||
#define PSW_MASK_IO 0x02000000UL
|
||||
#define PSW_MASK_EXT 0x01000000UL
|
||||
#define PSW_MASK_KEY 0x00F00000UL
|
||||
#define PSW_MASK_BASE 0x00080000UL /* always one */
|
||||
#define PSW_MASK_MCHECK 0x00040000UL
|
||||
#define PSW_MASK_WAIT 0x00020000UL
|
||||
#define PSW_MASK_PSTATE 0x00010000UL
|
||||
#define PSW_MASK_ASC 0x0000C000UL
|
||||
#define PSW_MASK_CC 0x00003000UL
|
||||
#define PSW_MASK_PM 0x00000F00UL
|
||||
#define PSW_MASK_RI 0x00000000UL
|
||||
#define PSW_MASK_EA 0x00000000UL
|
||||
#define PSW_MASK_BA 0x00000000UL
|
||||
|
||||
#define PSW_MASK_USER 0x0000FF00UL
|
||||
|
||||
#define PSW_ADDR_AMODE 0x80000000UL
|
||||
#define PSW_ADDR_INSN 0x7FFFFFFFUL
|
||||
|
||||
#define PSW_ASC_PRIMARY 0x00000000UL
|
||||
#define PSW_ASC_ACCREG 0x00004000UL
|
||||
#define PSW_ASC_SECONDARY 0x00008000UL
|
||||
#define PSW_ASC_HOME 0x0000C000UL
|
||||
|
||||
#else /* __s390x__ */
|
||||
|
||||
#define PSW_MASK_PER 0x4000000000000000UL
|
||||
#define PSW_MASK_DAT 0x0400000000000000UL
|
||||
#define PSW_MASK_IO 0x0200000000000000UL
|
||||
#define PSW_MASK_EXT 0x0100000000000000UL
|
||||
#define PSW_MASK_BASE 0x0000000000000000UL
|
||||
#define PSW_MASK_KEY 0x00F0000000000000UL
|
||||
#define PSW_MASK_MCHECK 0x0004000000000000UL
|
||||
#define PSW_MASK_WAIT 0x0002000000000000UL
|
||||
#define PSW_MASK_PSTATE 0x0001000000000000UL
|
||||
#define PSW_MASK_ASC 0x0000C00000000000UL
|
||||
#define PSW_MASK_CC 0x0000300000000000UL
|
||||
#define PSW_MASK_PM 0x00000F0000000000UL
|
||||
#define PSW_MASK_RI 0x0000008000000000UL
|
||||
#define PSW_MASK_EA 0x0000000100000000UL
|
||||
#define PSW_MASK_BA 0x0000000080000000UL
|
||||
|
||||
#define PSW_MASK_USER 0x0000FF0180000000UL
|
||||
|
||||
#define PSW_ADDR_AMODE 0x0000000000000000UL
|
||||
#define PSW_ADDR_INSN 0xFFFFFFFFFFFFFFFFUL
|
||||
|
||||
#define PSW_ASC_PRIMARY 0x0000000000000000UL
|
||||
#define PSW_ASC_ACCREG 0x0000400000000000UL
|
||||
#define PSW_ASC_SECONDARY 0x0000800000000000UL
|
||||
#define PSW_ASC_HOME 0x0000C00000000000UL
|
||||
|
||||
#endif /* __s390x__ */
|
||||
|
||||
|
||||
/*
|
||||
* The s390_regs structure is used to define the elf_gregset_t.
|
||||
*/
|
||||
|
|
Loading…
Add table
Reference in a new issue