[S390] lowcore cleanup
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Sun, 30 Oct 2011 14:16:45 +0000 (15:16 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Sun, 30 Oct 2011 14:16:42 +0000 (15:16 +0100)
Remove the save_area_64 field from the 0xe00 - 0xf00 area in the lowcore.
Use a free slot in the save_area array instead.

Signed-off-by: Martin Schwidefsky <schwidefsky@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
arch/s390/kernel/reipl64.S

index 4f990a5e5b59263bc7a874966eea313a93557334..9e13c7d56cc1cbf31c80b9b91a334b7a3659452f 100644 (file)
@@ -152,10 +152,7 @@ struct _lowcore {
        __u32   ipib;                           /* 0x0e00 */
        __u32   ipib_checksum;                  /* 0x0e04 */
        __u32   vmcore_info;                    /* 0x0e08 */
-
-       /* 64 bit save area */
-       __u64   save_area_64;                   /* 0x0e0c */
-       __u8    pad_0x0e14[0x0f00-0x0e14];      /* 0x0e14 */
+       __u8    pad_0x0e0c[0x0f00-0x0e0c];      /* 0x0e0c */
 
        /* Extended facility list */
        __u64   stfle_fac_list[32];             /* 0x0f00 */
@@ -292,10 +289,7 @@ struct _lowcore {
        __u64   ipib;                           /* 0x0e00 */
        __u32   ipib_checksum;                  /* 0x0e08 */
        __u64   vmcore_info;                    /* 0x0e0c */
-
-       /* 64 bit save area */
-       __u64   save_area_64;                   /* 0x0e14 */
-       __u8    pad_0x0e1c[0x0f00-0x0e1c];      /* 0x0e1c */
+       __u8    pad_0x0e14[0x0f00-0x0e14];      /* 0x0e14 */
 
        /* Extended facility list */
        __u64   stfle_fac_list[32];             /* 0x0f00 */
index 2b45591e15821db1a62d2206653980a5e5b52cc1..1140035b1cd8c68e00531c8dfc99292803ab1cb9 100644 (file)
@@ -141,7 +141,6 @@ int main(void)
        DEFINE(__LC_FPREGS_SAVE_AREA, offsetof(struct _lowcore, floating_pt_save_area));
        DEFINE(__LC_GPREGS_SAVE_AREA, offsetof(struct _lowcore, gpregs_save_area));
        DEFINE(__LC_CREGS_SAVE_AREA, offsetof(struct _lowcore, cregs_save_area));
-       DEFINE(__LC_SAVE_AREA_64, offsetof(struct _lowcore, save_area_64));
 #ifdef CONFIG_32BIT
        DEFINE(SAVE_AREA_BASE, offsetof(struct _lowcore, extended_save_area_addr));
 #else /* CONFIG_32BIT */
index 02ec8fe7d03fe575c3969e14b750b3a6bf81c0b6..195387ab7c983ca42496c2f8ca927a4176a05b13 100644 (file)
@@ -853,13 +853,13 @@ restart_go:
 # PSW restart interrupt handler
 #
 ENTRY(psw_restart_int_handler)
-       st      %r15,__LC_SAVE_AREA_64(%r0)     # save r15
+       st      %r15,__LC_SAVE_AREA+48(%r0)     # save r15
        basr    %r15,0
 0:     l       %r15,.Lrestart_stack-0b(%r15)   # load restart stack
        l       %r15,0(%r15)
        ahi     %r15,-SP_SIZE                   # make room for pt_regs
        stm     %r0,%r14,SP_R0(%r15)            # store gprs %r0-%r14 to stack
-       mvc     SP_R15(4,%r15),__LC_SAVE_AREA_64(%r0)# store saved %r15 to stack
+       mvc     SP_R15(4,%r15),__LC_SAVE_AREA+48(%r0)# store saved %r15 to stack
        mvc     SP_PSW(8,%r15),__LC_RST_OLD_PSW(%r0) # store restart old psw
        xc      __SF_BACKCHAIN(4,%r15),__SF_BACKCHAIN(%r15) # set backchain to 0
        basr    %r14,0
index 713da07605389ffc3d9c4c137c01e268437581e1..3257f7f555515f99ed94d74b684486dd2ab16a79 100644 (file)
@@ -869,12 +869,12 @@ restart_go:
 # PSW restart interrupt handler
 #
 ENTRY(psw_restart_int_handler)
-       stg     %r15,__LC_SAVE_AREA_64(%r0)     # save r15
+       stg     %r15,__LC_SAVE_AREA+120(%r0)    # save r15
        larl    %r15,restart_stack              # load restart stack
        lg      %r15,0(%r15)
        aghi    %r15,-SP_SIZE                   # make room for pt_regs
        stmg    %r0,%r14,SP_R0(%r15)            # store gprs %r0-%r14 to stack
-       mvc     SP_R15(8,%r15),__LC_SAVE_AREA_64(%r0)# store saved %r15 to stack
+       mvc     SP_R15(8,%r15),__LC_SAVE_AREA+120(%r0)# store saved %r15 to stack
        mvc     SP_PSW(16,%r15),__LC_RST_OLD_PSW(%r0)# store restart old psw
        xc      __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) # set backchain to 0
        brasl   %r14,do_restart
index a0f5b686a3cd67b8226eeebd452e45a509b6e05e..732a793ec53a65a173d17245cfeadd0bc970fa24 100644 (file)
 #
 ENTRY(store_status)
        /* Save register one and load save area base */
-       stg     %r1,__LC_SAVE_AREA_64(%r0)
+       stg     %r1,__LC_SAVE_AREA+120(%r0)
        lghi    %r1,SAVE_AREA_BASE
        /* General purpose registers */
        stmg    %r0,%r15,__LC_GPREGS_SAVE_AREA-SAVE_AREA_BASE(%r1)
-       lg      %r2,__LC_SAVE_AREA_64(%r0)
+       lg      %r2,__LC_SAVE_AREA+120(%r0)
        stg     %r2,__LC_GPREGS_SAVE_AREA-SAVE_AREA_BASE+8(%r1)
        /* Control registers */
        stctg   %c0,%c15,__LC_CREGS_SAVE_AREA-SAVE_AREA_BASE(%r1)