Commit 21ee7ffd authored by Jens Freimann's avatar Jens Freimann Committed by Christian Borntraeger

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: default avatarJens Freimann <jfrei@linux.vnet.ibm.com>
Acked-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
parent 3d53b46c
...@@ -56,7 +56,8 @@ struct _lowcore { ...@@ -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 { ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment