s390: rename and split lowcore field per_perc_atmid
authorJens Freimann <jfrei@linux.vnet.ibm.com>
Wed, 26 Feb 2014 15:32:46 +0000 (16:32 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Tue, 22 Apr 2014 11:24:48 +0000 (13:24 +0200)
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>
arch/s390/include/asm/lowcore.h
arch/s390/kernel/asm-offsets.c
arch/s390/kernel/entry.S
arch/s390/kernel/entry64.S

index edfa89b..e88cb8c 100644 (file)
@@ -56,7 +56,8 @@ struct _lowcore {
        __u16   pgm_code;                       /* 0x008e */
        __u32   trans_exc_code;                 /* 0x0090 */
        __u16   mon_class_num;                  /* 0x0094 */
-       __u16   per_perc_atmid;                 /* 0x0096 */
+       __u8    per_code;                       /* 0x0096 */
+       __u8    per_atmid;                      /* 0x0097 */
        __u32   per_address;                    /* 0x0098 */
        __u32   monitor_code;                   /* 0x009c */
        __u8    exc_access_id;                  /* 0x00a0 */
@@ -196,7 +197,8 @@ struct _lowcore {
        __u16   pgm_code;                       /* 0x008e */
        __u32   data_exc_code;                  /* 0x0090 */
        __u16   mon_class_num;                  /* 0x0094 */
-       __u16   per_perc_atmid;                 /* 0x0096 */
+       __u8    per_code;                       /* 0x0096 */
+       __u8    per_atmid;                      /* 0x0097 */
        __u64   per_address;                    /* 0x0098 */
        __u8    exc_access_id;                  /* 0x00a0 */
        __u8    per_access_id;                  /* 0x00a1 */
index 94c18d4..31e4ba4 100644 (file)
@@ -89,9 +89,10 @@ int main(void)
        DEFINE(__LC_PGM_ILC, offsetof(struct _lowcore, pgm_ilc));
        DEFINE(__LC_PGM_INT_CODE, offsetof(struct _lowcore, pgm_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_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_SUBCHANNEL_ID, offsetof(struct _lowcore, subchannel_id));
        DEFINE(__LC_SUBCHANNEL_NR, offsetof(struct _lowcore, subchannel_nr));
index 1662038..e66f046 100644 (file)
@@ -391,8 +391,8 @@ ENTRY(pgm_check_handler)
        jz      pgm_kprobe
        oi      __TI_flags+3(%r12),_TIF_PER_TRAP
        mvc     __THREAD_per_address(4,%r1),__LC_PER_ADDRESS
-       mvc     __THREAD_per_cause(2,%r1),__LC_PER_CAUSE
-       mvc     __THREAD_per_paid(1,%r1),__LC_PER_PAID
+       mvc     __THREAD_per_cause(2,%r1),__LC_PER_CODE
+       mvc     __THREAD_per_paid(1,%r1),__LC_PER_ACCESS_ID
 0:     REENABLE_IRQS
        xc      __SF_BACKCHAIN(4,%r15),__SF_BACKCHAIN(%r15)
        l       %r1,BASED(.Ljump_table)
index 5963e43..3c34753 100644 (file)
@@ -423,8 +423,8 @@ ENTRY(pgm_check_handler)
        jz      pgm_kprobe
        oi      __TI_flags+7(%r12),_TIF_PER_TRAP
        mvc     __THREAD_per_address(8,%r14),__LC_PER_ADDRESS
-       mvc     __THREAD_per_cause(2,%r14),__LC_PER_CAUSE
-       mvc     __THREAD_per_paid(1,%r14),__LC_PER_PAID
+       mvc     __THREAD_per_cause(2,%r14),__LC_PER_CODE
+       mvc     __THREAD_per_paid(1,%r14),__LC_PER_ACCESS_ID
 0:     REENABLE_IRQS
        xc      __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
        larl    %r1,pgm_check_table