diff options
Diffstat (limited to 'arch/s390/kernel/head64.S')
-rw-r--r-- | arch/s390/kernel/head64.S | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/s390/kernel/head64.S b/arch/s390/kernel/head64.S index c526279e1123..6ba3f4512dd1 100644 --- a/arch/s390/kernel/head64.S +++ b/arch/s390/kernel/head64.S | |||
@@ -172,12 +172,15 @@ startup_continue: | |||
172 | srl %r7,28 | 172 | srl %r7,28 |
173 | clr %r6,%r7 # compare cc with last access code | 173 | clr %r6,%r7 # compare cc with last access code |
174 | je .Lsame | 174 | je .Lsame |
175 | j .Lchkmem | 175 | lghi %r8,0 # no program checks |
176 | j .Lsavchk | ||
176 | .Lsame: | 177 | .Lsame: |
177 | algr %r5,%r1 # add 128KB to end of chunk | 178 | algr %r5,%r1 # add 128KB to end of chunk |
178 | # no need to check here, | 179 | # no need to check here, |
179 | brc 12,.Lloop # this is the same chunk | 180 | brc 12,.Lloop # this is the same chunk |
180 | .Lchkmem: # > 16EB or tprot got a program check | 181 | .Lchkmem: # > 16EB or tprot got a program check |
182 | lghi %r8,1 # set program check flag | ||
183 | .Lsavchk: | ||
181 | clgr %r4,%r5 # chunk size > 0? | 184 | clgr %r4,%r5 # chunk size > 0? |
182 | je .Lchkloop | 185 | je .Lchkloop |
183 | stg %r4,0(%r3) # store start address of chunk | 186 | stg %r4,0(%r3) # store start address of chunk |
@@ -204,8 +207,15 @@ startup_continue: | |||
204 | chi %r10, 0 # do we have chunks left? | 207 | chi %r10, 0 # do we have chunks left? |
205 | je .Ldonemem | 208 | je .Ldonemem |
206 | .Lhsaskip: | 209 | .Lhsaskip: |
210 | chi %r8,1 # program check ? | ||
211 | je .Lpgmchk | ||
212 | lgr %r4,%r5 # potential new chunk | ||
213 | algr %r5,%r1 # add 128KB to end of chunk | ||
214 | j .Llpcnt | ||
215 | .Lpgmchk: | ||
207 | algr %r5,%r1 # add 128KB to end of chunk | 216 | algr %r5,%r1 # add 128KB to end of chunk |
208 | lgr %r4,%r5 # potential new chunk | 217 | lgr %r4,%r5 # potential new chunk |
218 | .Llpcnt: | ||
209 | clgr %r5,%r9 # should we go on? | 219 | clgr %r5,%r9 # should we go on? |
210 | jl .Lloop | 220 | jl .Lloop |
211 | .Ldonemem: | 221 | .Ldonemem: |