aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorJens Freimann <jfrei@linux.vnet.ibm.com>2014-02-26 10:32:46 -0500
committerChristian Borntraeger <borntraeger@de.ibm.com>2014-04-22 07:24:48 -0400
commit21ee7ffd176a238cf185c142bd4c20d0152eda4f (patch)
tree3a77853dd42472cee02ad9b30571a29fb0e391af /arch/s390
parent3d53b46ce8b1b873cf8501bac251b8c0cf489d4f (diff)
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>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/include/asm/lowcore.h6
-rw-r--r--arch/s390/kernel/asm-offsets.c5
-rw-r--r--arch/s390/kernel/entry.S4
-rw-r--r--arch/s390/kernel/entry64.S4
4 files changed, 11 insertions, 8 deletions
diff --git a/arch/s390/include/asm/lowcore.h b/arch/s390/include/asm/lowcore.h
index edfa89b67e78..e88cb8c54130 100644
--- a/arch/s390/include/asm/lowcore.h
+++ b/arch/s390/include/asm/lowcore.h
@@ -56,7 +56,8 @@ struct _lowcore {
56 __u16 pgm_code; /* 0x008e */ 56 __u16 pgm_code; /* 0x008e */
57 __u32 trans_exc_code; /* 0x0090 */ 57 __u32 trans_exc_code; /* 0x0090 */
58 __u16 mon_class_num; /* 0x0094 */ 58 __u16 mon_class_num; /* 0x0094 */
59 __u16 per_perc_atmid; /* 0x0096 */ 59 __u8 per_code; /* 0x0096 */
60 __u8 per_atmid; /* 0x0097 */
60 __u32 per_address; /* 0x0098 */ 61 __u32 per_address; /* 0x0098 */
61 __u32 monitor_code; /* 0x009c */ 62 __u32 monitor_code; /* 0x009c */
62 __u8 exc_access_id; /* 0x00a0 */ 63 __u8 exc_access_id; /* 0x00a0 */
@@ -196,7 +197,8 @@ struct _lowcore {
196 __u16 pgm_code; /* 0x008e */ 197 __u16 pgm_code; /* 0x008e */
197 __u32 data_exc_code; /* 0x0090 */ 198 __u32 data_exc_code; /* 0x0090 */
198 __u16 mon_class_num; /* 0x0094 */ 199 __u16 mon_class_num; /* 0x0094 */
199 __u16 per_perc_atmid; /* 0x0096 */ 200 __u8 per_code; /* 0x0096 */
201 __u8 per_atmid; /* 0x0097 */
200 __u64 per_address; /* 0x0098 */ 202 __u64 per_address; /* 0x0098 */
201 __u8 exc_access_id; /* 0x00a0 */ 203 __u8 exc_access_id; /* 0x00a0 */
202 __u8 per_access_id; /* 0x00a1 */ 204 __u8 per_access_id; /* 0x00a1 */
diff --git a/arch/s390/kernel/asm-offsets.c b/arch/s390/kernel/asm-offsets.c
index 94c18d482ce7..31e4ba4aaf17 100644
--- a/arch/s390/kernel/asm-offsets.c
+++ b/arch/s390/kernel/asm-offsets.c
@@ -89,9 +89,10 @@ int main(void)
89 DEFINE(__LC_PGM_ILC, offsetof(struct _lowcore, pgm_ilc)); 89 DEFINE(__LC_PGM_ILC, offsetof(struct _lowcore, pgm_ilc));
90 DEFINE(__LC_PGM_INT_CODE, offsetof(struct _lowcore, pgm_code)); 90 DEFINE(__LC_PGM_INT_CODE, offsetof(struct _lowcore, pgm_code));
91 DEFINE(__LC_TRANS_EXC_CODE, offsetof(struct _lowcore, trans_exc_code)); 91 DEFINE(__LC_TRANS_EXC_CODE, offsetof(struct _lowcore, trans_exc_code));
92 DEFINE(__LC_PER_CAUSE, offsetof(struct _lowcore, per_perc_atmid)); 92 DEFINE(__LC_PER_CODE, offsetof(struct _lowcore, per_code));
93 DEFINE(__LC_PER_ATMID, offsetof(struct _lowcore, per_atmid));
93 DEFINE(__LC_PER_ADDRESS, offsetof(struct _lowcore, per_address)); 94 DEFINE(__LC_PER_ADDRESS, offsetof(struct _lowcore, per_address));
94 DEFINE(__LC_PER_PAID, offsetof(struct _lowcore, per_access_id)); 95 DEFINE(__LC_PER_ACCESS_ID, offsetof(struct _lowcore, per_access_id));
95 DEFINE(__LC_AR_MODE_ID, offsetof(struct _lowcore, ar_mode_id)); 96 DEFINE(__LC_AR_MODE_ID, offsetof(struct _lowcore, ar_mode_id));
96 DEFINE(__LC_SUBCHANNEL_ID, offsetof(struct _lowcore, subchannel_id)); 97 DEFINE(__LC_SUBCHANNEL_ID, offsetof(struct _lowcore, subchannel_id));
97 DEFINE(__LC_SUBCHANNEL_NR, offsetof(struct _lowcore, subchannel_nr)); 98 DEFINE(__LC_SUBCHANNEL_NR, offsetof(struct _lowcore, subchannel_nr));
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S
index 1662038516c0..e66f046b9c43 100644
--- a/arch/s390/kernel/entry.S
+++ b/arch/s390/kernel/entry.S
@@ -391,8 +391,8 @@ ENTRY(pgm_check_handler)
391 jz pgm_kprobe 391 jz pgm_kprobe
392 oi __TI_flags+3(%r12),_TIF_PER_TRAP 392 oi __TI_flags+3(%r12),_TIF_PER_TRAP
393 mvc __THREAD_per_address(4,%r1),__LC_PER_ADDRESS 393 mvc __THREAD_per_address(4,%r1),__LC_PER_ADDRESS
394 mvc __THREAD_per_cause(2,%r1),__LC_PER_CAUSE 394 mvc __THREAD_per_cause(2,%r1),__LC_PER_CODE
395 mvc __THREAD_per_paid(1,%r1),__LC_PER_PAID 395 mvc __THREAD_per_paid(1,%r1),__LC_PER_ACCESS_ID
3960: REENABLE_IRQS 3960: REENABLE_IRQS
397 xc __SF_BACKCHAIN(4,%r15),__SF_BACKCHAIN(%r15) 397 xc __SF_BACKCHAIN(4,%r15),__SF_BACKCHAIN(%r15)
398 l %r1,BASED(.Ljump_table) 398 l %r1,BASED(.Ljump_table)
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S
index 5963e43618bb..3c34753de6ad 100644
--- a/arch/s390/kernel/entry64.S
+++ b/arch/s390/kernel/entry64.S
@@ -423,8 +423,8 @@ ENTRY(pgm_check_handler)
423 jz pgm_kprobe 423 jz pgm_kprobe
424 oi __TI_flags+7(%r12),_TIF_PER_TRAP 424 oi __TI_flags+7(%r12),_TIF_PER_TRAP
425 mvc __THREAD_per_address(8,%r14),__LC_PER_ADDRESS 425 mvc __THREAD_per_address(8,%r14),__LC_PER_ADDRESS
426 mvc __THREAD_per_cause(2,%r14),__LC_PER_CAUSE 426 mvc __THREAD_per_cause(2,%r14),__LC_PER_CODE
427 mvc __THREAD_per_paid(1,%r14),__LC_PER_PAID 427 mvc __THREAD_per_paid(1,%r14),__LC_PER_ACCESS_ID
4280: REENABLE_IRQS 4280: REENABLE_IRQS
429 xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) 429 xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
430 larl %r1,pgm_check_table 430 larl %r1,pgm_check_table