diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2011-10-30 10:16:45 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2011-10-30 10:16:42 -0400 |
commit | 0edc8faa769095e98a5a5adc28db982f99f0d663 (patch) | |
tree | 61828b450ece8375d58ba1279ccb0aaaa74e0c52 /arch | |
parent | dab7a7b1538fec48790a321a58180adae79a3f3c (diff) |
[S390] lowcore cleanup
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/s390/include/asm/lowcore.h | 10 | ||||
-rw-r--r-- | arch/s390/kernel/asm-offsets.c | 1 | ||||
-rw-r--r-- | arch/s390/kernel/entry.S | 4 | ||||
-rw-r--r-- | arch/s390/kernel/entry64.S | 4 | ||||
-rw-r--r-- | arch/s390/kernel/reipl64.S | 4 |
5 files changed, 8 insertions, 15 deletions
diff --git a/arch/s390/include/asm/lowcore.h b/arch/s390/include/asm/lowcore.h index 4f990a5e5b59..9e13c7d56cc1 100644 --- a/arch/s390/include/asm/lowcore.h +++ b/arch/s390/include/asm/lowcore.h | |||
@@ -152,10 +152,7 @@ struct _lowcore { | |||
152 | __u32 ipib; /* 0x0e00 */ | 152 | __u32 ipib; /* 0x0e00 */ |
153 | __u32 ipib_checksum; /* 0x0e04 */ | 153 | __u32 ipib_checksum; /* 0x0e04 */ |
154 | __u32 vmcore_info; /* 0x0e08 */ | 154 | __u32 vmcore_info; /* 0x0e08 */ |
155 | 155 | __u8 pad_0x0e0c[0x0f00-0x0e0c]; /* 0x0e0c */ | |
156 | /* 64 bit save area */ | ||
157 | __u64 save_area_64; /* 0x0e0c */ | ||
158 | __u8 pad_0x0e14[0x0f00-0x0e14]; /* 0x0e14 */ | ||
159 | 156 | ||
160 | /* Extended facility list */ | 157 | /* Extended facility list */ |
161 | __u64 stfle_fac_list[32]; /* 0x0f00 */ | 158 | __u64 stfle_fac_list[32]; /* 0x0f00 */ |
@@ -292,10 +289,7 @@ struct _lowcore { | |||
292 | __u64 ipib; /* 0x0e00 */ | 289 | __u64 ipib; /* 0x0e00 */ |
293 | __u32 ipib_checksum; /* 0x0e08 */ | 290 | __u32 ipib_checksum; /* 0x0e08 */ |
294 | __u64 vmcore_info; /* 0x0e0c */ | 291 | __u64 vmcore_info; /* 0x0e0c */ |
295 | 292 | __u8 pad_0x0e14[0x0f00-0x0e14]; /* 0x0e14 */ | |
296 | /* 64 bit save area */ | ||
297 | __u64 save_area_64; /* 0x0e14 */ | ||
298 | __u8 pad_0x0e1c[0x0f00-0x0e1c]; /* 0x0e1c */ | ||
299 | 293 | ||
300 | /* Extended facility list */ | 294 | /* Extended facility list */ |
301 | __u64 stfle_fac_list[32]; /* 0x0f00 */ | 295 | __u64 stfle_fac_list[32]; /* 0x0f00 */ |
diff --git a/arch/s390/kernel/asm-offsets.c b/arch/s390/kernel/asm-offsets.c index 2b45591e1582..1140035b1cd8 100644 --- a/arch/s390/kernel/asm-offsets.c +++ b/arch/s390/kernel/asm-offsets.c | |||
@@ -141,7 +141,6 @@ int main(void) | |||
141 | DEFINE(__LC_FPREGS_SAVE_AREA, offsetof(struct _lowcore, floating_pt_save_area)); | 141 | DEFINE(__LC_FPREGS_SAVE_AREA, offsetof(struct _lowcore, floating_pt_save_area)); |
142 | DEFINE(__LC_GPREGS_SAVE_AREA, offsetof(struct _lowcore, gpregs_save_area)); | 142 | DEFINE(__LC_GPREGS_SAVE_AREA, offsetof(struct _lowcore, gpregs_save_area)); |
143 | DEFINE(__LC_CREGS_SAVE_AREA, offsetof(struct _lowcore, cregs_save_area)); | 143 | DEFINE(__LC_CREGS_SAVE_AREA, offsetof(struct _lowcore, cregs_save_area)); |
144 | DEFINE(__LC_SAVE_AREA_64, offsetof(struct _lowcore, save_area_64)); | ||
145 | #ifdef CONFIG_32BIT | 144 | #ifdef CONFIG_32BIT |
146 | DEFINE(SAVE_AREA_BASE, offsetof(struct _lowcore, extended_save_area_addr)); | 145 | DEFINE(SAVE_AREA_BASE, offsetof(struct _lowcore, extended_save_area_addr)); |
147 | #else /* CONFIG_32BIT */ | 146 | #else /* CONFIG_32BIT */ |
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S index 02ec8fe7d03f..195387ab7c98 100644 --- a/arch/s390/kernel/entry.S +++ b/arch/s390/kernel/entry.S | |||
@@ -853,13 +853,13 @@ restart_go: | |||
853 | # PSW restart interrupt handler | 853 | # PSW restart interrupt handler |
854 | # | 854 | # |
855 | ENTRY(psw_restart_int_handler) | 855 | ENTRY(psw_restart_int_handler) |
856 | st %r15,__LC_SAVE_AREA_64(%r0) # save r15 | 856 | st %r15,__LC_SAVE_AREA+48(%r0) # save r15 |
857 | basr %r15,0 | 857 | basr %r15,0 |
858 | 0: l %r15,.Lrestart_stack-0b(%r15) # load restart stack | 858 | 0: l %r15,.Lrestart_stack-0b(%r15) # load restart stack |
859 | l %r15,0(%r15) | 859 | l %r15,0(%r15) |
860 | ahi %r15,-SP_SIZE # make room for pt_regs | 860 | ahi %r15,-SP_SIZE # make room for pt_regs |
861 | stm %r0,%r14,SP_R0(%r15) # store gprs %r0-%r14 to stack | 861 | stm %r0,%r14,SP_R0(%r15) # store gprs %r0-%r14 to stack |
862 | mvc SP_R15(4,%r15),__LC_SAVE_AREA_64(%r0)# store saved %r15 to stack | 862 | mvc SP_R15(4,%r15),__LC_SAVE_AREA+48(%r0)# store saved %r15 to stack |
863 | mvc SP_PSW(8,%r15),__LC_RST_OLD_PSW(%r0) # store restart old psw | 863 | mvc SP_PSW(8,%r15),__LC_RST_OLD_PSW(%r0) # store restart old psw |
864 | xc __SF_BACKCHAIN(4,%r15),__SF_BACKCHAIN(%r15) # set backchain to 0 | 864 | xc __SF_BACKCHAIN(4,%r15),__SF_BACKCHAIN(%r15) # set backchain to 0 |
865 | basr %r14,0 | 865 | basr %r14,0 |
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S index 713da0760538..3257f7f55551 100644 --- a/arch/s390/kernel/entry64.S +++ b/arch/s390/kernel/entry64.S | |||
@@ -869,12 +869,12 @@ restart_go: | |||
869 | # PSW restart interrupt handler | 869 | # PSW restart interrupt handler |
870 | # | 870 | # |
871 | ENTRY(psw_restart_int_handler) | 871 | ENTRY(psw_restart_int_handler) |
872 | stg %r15,__LC_SAVE_AREA_64(%r0) # save r15 | 872 | stg %r15,__LC_SAVE_AREA+120(%r0) # save r15 |
873 | larl %r15,restart_stack # load restart stack | 873 | larl %r15,restart_stack # load restart stack |
874 | lg %r15,0(%r15) | 874 | lg %r15,0(%r15) |
875 | aghi %r15,-SP_SIZE # make room for pt_regs | 875 | aghi %r15,-SP_SIZE # make room for pt_regs |
876 | stmg %r0,%r14,SP_R0(%r15) # store gprs %r0-%r14 to stack | 876 | stmg %r0,%r14,SP_R0(%r15) # store gprs %r0-%r14 to stack |
877 | mvc SP_R15(8,%r15),__LC_SAVE_AREA_64(%r0)# store saved %r15 to stack | 877 | mvc SP_R15(8,%r15),__LC_SAVE_AREA+120(%r0)# store saved %r15 to stack |
878 | mvc SP_PSW(16,%r15),__LC_RST_OLD_PSW(%r0)# store restart old psw | 878 | mvc SP_PSW(16,%r15),__LC_RST_OLD_PSW(%r0)# store restart old psw |
879 | xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) # set backchain to 0 | 879 | xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) # set backchain to 0 |
880 | brasl %r14,do_restart | 880 | brasl %r14,do_restart |
diff --git a/arch/s390/kernel/reipl64.S b/arch/s390/kernel/reipl64.S index a0f5b686a3cd..732a793ec53a 100644 --- a/arch/s390/kernel/reipl64.S +++ b/arch/s390/kernel/reipl64.S | |||
@@ -17,11 +17,11 @@ | |||
17 | # | 17 | # |
18 | ENTRY(store_status) | 18 | ENTRY(store_status) |
19 | /* Save register one and load save area base */ | 19 | /* Save register one and load save area base */ |
20 | stg %r1,__LC_SAVE_AREA_64(%r0) | 20 | stg %r1,__LC_SAVE_AREA+120(%r0) |
21 | lghi %r1,SAVE_AREA_BASE | 21 | lghi %r1,SAVE_AREA_BASE |
22 | /* General purpose registers */ | 22 | /* General purpose registers */ |
23 | stmg %r0,%r15,__LC_GPREGS_SAVE_AREA-SAVE_AREA_BASE(%r1) | 23 | stmg %r0,%r15,__LC_GPREGS_SAVE_AREA-SAVE_AREA_BASE(%r1) |
24 | lg %r2,__LC_SAVE_AREA_64(%r0) | 24 | lg %r2,__LC_SAVE_AREA+120(%r0) |
25 | stg %r2,__LC_GPREGS_SAVE_AREA-SAVE_AREA_BASE+8(%r1) | 25 | stg %r2,__LC_GPREGS_SAVE_AREA-SAVE_AREA_BASE+8(%r1) |
26 | /* Control registers */ | 26 | /* Control registers */ |
27 | stctg %c0,%c15,__LC_CREGS_SAVE_AREA-SAVE_AREA_BASE(%r1) | 27 | stctg %c0,%c15,__LC_CREGS_SAVE_AREA-SAVE_AREA_BASE(%r1) |