mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 18:24:14 +08:00
s390: rename and split lowcore field per_perc_atmid
per_perc_atmid is currently a two-byte field that combines two fields, the PER code and the PER Addressing-and-Translation-Mode Identification (ATMID) Let's make them accessible indepently and also rename per_cause to per_code. Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com> Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
This commit is contained in:
parent
3d53b46ce8
commit
21ee7ffd17
@ -56,7 +56,8 @@ struct _lowcore {
|
|||||||
__u16 pgm_code; /* 0x008e */
|
__u16 pgm_code; /* 0x008e */
|
||||||
__u32 trans_exc_code; /* 0x0090 */
|
__u32 trans_exc_code; /* 0x0090 */
|
||||||
__u16 mon_class_num; /* 0x0094 */
|
__u16 mon_class_num; /* 0x0094 */
|
||||||
__u16 per_perc_atmid; /* 0x0096 */
|
__u8 per_code; /* 0x0096 */
|
||||||
|
__u8 per_atmid; /* 0x0097 */
|
||||||
__u32 per_address; /* 0x0098 */
|
__u32 per_address; /* 0x0098 */
|
||||||
__u32 monitor_code; /* 0x009c */
|
__u32 monitor_code; /* 0x009c */
|
||||||
__u8 exc_access_id; /* 0x00a0 */
|
__u8 exc_access_id; /* 0x00a0 */
|
||||||
@ -196,7 +197,8 @@ struct _lowcore {
|
|||||||
__u16 pgm_code; /* 0x008e */
|
__u16 pgm_code; /* 0x008e */
|
||||||
__u32 data_exc_code; /* 0x0090 */
|
__u32 data_exc_code; /* 0x0090 */
|
||||||
__u16 mon_class_num; /* 0x0094 */
|
__u16 mon_class_num; /* 0x0094 */
|
||||||
__u16 per_perc_atmid; /* 0x0096 */
|
__u8 per_code; /* 0x0096 */
|
||||||
|
__u8 per_atmid; /* 0x0097 */
|
||||||
__u64 per_address; /* 0x0098 */
|
__u64 per_address; /* 0x0098 */
|
||||||
__u8 exc_access_id; /* 0x00a0 */
|
__u8 exc_access_id; /* 0x00a0 */
|
||||||
__u8 per_access_id; /* 0x00a1 */
|
__u8 per_access_id; /* 0x00a1 */
|
||||||
|
@ -89,9 +89,10 @@ int main(void)
|
|||||||
DEFINE(__LC_PGM_ILC, offsetof(struct _lowcore, pgm_ilc));
|
DEFINE(__LC_PGM_ILC, offsetof(struct _lowcore, pgm_ilc));
|
||||||
DEFINE(__LC_PGM_INT_CODE, offsetof(struct _lowcore, pgm_code));
|
DEFINE(__LC_PGM_INT_CODE, offsetof(struct _lowcore, pgm_code));
|
||||||
DEFINE(__LC_TRANS_EXC_CODE, offsetof(struct _lowcore, trans_exc_code));
|
DEFINE(__LC_TRANS_EXC_CODE, offsetof(struct _lowcore, trans_exc_code));
|
||||||
DEFINE(__LC_PER_CAUSE, offsetof(struct _lowcore, per_perc_atmid));
|
DEFINE(__LC_PER_CODE, offsetof(struct _lowcore, per_code));
|
||||||
|
DEFINE(__LC_PER_ATMID, offsetof(struct _lowcore, per_atmid));
|
||||||
DEFINE(__LC_PER_ADDRESS, offsetof(struct _lowcore, per_address));
|
DEFINE(__LC_PER_ADDRESS, offsetof(struct _lowcore, per_address));
|
||||||
DEFINE(__LC_PER_PAID, offsetof(struct _lowcore, per_access_id));
|
DEFINE(__LC_PER_ACCESS_ID, offsetof(struct _lowcore, per_access_id));
|
||||||
DEFINE(__LC_AR_MODE_ID, offsetof(struct _lowcore, ar_mode_id));
|
DEFINE(__LC_AR_MODE_ID, offsetof(struct _lowcore, ar_mode_id));
|
||||||
DEFINE(__LC_SUBCHANNEL_ID, offsetof(struct _lowcore, subchannel_id));
|
DEFINE(__LC_SUBCHANNEL_ID, offsetof(struct _lowcore, subchannel_id));
|
||||||
DEFINE(__LC_SUBCHANNEL_NR, offsetof(struct _lowcore, subchannel_nr));
|
DEFINE(__LC_SUBCHANNEL_NR, offsetof(struct _lowcore, subchannel_nr));
|
||||||
|
@ -391,8 +391,8 @@ ENTRY(pgm_check_handler)
|
|||||||
jz pgm_kprobe
|
jz pgm_kprobe
|
||||||
oi __TI_flags+3(%r12),_TIF_PER_TRAP
|
oi __TI_flags+3(%r12),_TIF_PER_TRAP
|
||||||
mvc __THREAD_per_address(4,%r1),__LC_PER_ADDRESS
|
mvc __THREAD_per_address(4,%r1),__LC_PER_ADDRESS
|
||||||
mvc __THREAD_per_cause(2,%r1),__LC_PER_CAUSE
|
mvc __THREAD_per_cause(2,%r1),__LC_PER_CODE
|
||||||
mvc __THREAD_per_paid(1,%r1),__LC_PER_PAID
|
mvc __THREAD_per_paid(1,%r1),__LC_PER_ACCESS_ID
|
||||||
0: REENABLE_IRQS
|
0: REENABLE_IRQS
|
||||||
xc __SF_BACKCHAIN(4,%r15),__SF_BACKCHAIN(%r15)
|
xc __SF_BACKCHAIN(4,%r15),__SF_BACKCHAIN(%r15)
|
||||||
l %r1,BASED(.Ljump_table)
|
l %r1,BASED(.Ljump_table)
|
||||||
|
@ -423,8 +423,8 @@ ENTRY(pgm_check_handler)
|
|||||||
jz pgm_kprobe
|
jz pgm_kprobe
|
||||||
oi __TI_flags+7(%r12),_TIF_PER_TRAP
|
oi __TI_flags+7(%r12),_TIF_PER_TRAP
|
||||||
mvc __THREAD_per_address(8,%r14),__LC_PER_ADDRESS
|
mvc __THREAD_per_address(8,%r14),__LC_PER_ADDRESS
|
||||||
mvc __THREAD_per_cause(2,%r14),__LC_PER_CAUSE
|
mvc __THREAD_per_cause(2,%r14),__LC_PER_CODE
|
||||||
mvc __THREAD_per_paid(1,%r14),__LC_PER_PAID
|
mvc __THREAD_per_paid(1,%r14),__LC_PER_ACCESS_ID
|
||||||
0: REENABLE_IRQS
|
0: REENABLE_IRQS
|
||||||
xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
|
xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
|
||||||
larl %r1,pgm_check_table
|
larl %r1,pgm_check_table
|
||||||
|
Loading…
Reference in New Issue
Block a user