diff options
Diffstat (limited to 'arch/s390/kernel/head31.S')
-rw-r--r-- | arch/s390/kernel/head31.S | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/s390/kernel/head31.S b/arch/s390/kernel/head31.S index 1fa9fa1ca740..1b952a3664e2 100644 --- a/arch/s390/kernel/head31.S +++ b/arch/s390/kernel/head31.S | |||
@@ -254,6 +254,16 @@ startup_continue: | |||
254 | oi 3(%r12),0x80 # set IDTE flag | 254 | oi 3(%r12),0x80 # set IDTE flag |
255 | .Lchkidte: | 255 | .Lchkidte: |
256 | 256 | ||
257 | # | ||
258 | # find out if the diag 0x9c is available | ||
259 | # | ||
260 | mvc __LC_PGM_NEW_PSW(8),.Lpcdiag9c-.LPG1(%r13) | ||
261 | stap __LC_CPUID+4 # store cpu address | ||
262 | lh %r1,__LC_CPUID+4 | ||
263 | diag %r1,0,0x9c # test diag 0x9c | ||
264 | oi 2(%r12),1 # set diag9c flag | ||
265 | .Lchkdiag9c: | ||
266 | |||
257 | lpsw .Lentry-.LPG1(13) # jump to _stext in primary-space, | 267 | lpsw .Lentry-.LPG1(13) # jump to _stext in primary-space, |
258 | # virtual and never return ... | 268 | # virtual and never return ... |
259 | .align 8 | 269 | .align 8 |
@@ -281,6 +291,7 @@ startup_continue: | |||
281 | .Lpccsp:.long 0x00080000,0x80000000 + .Lchkcsp | 291 | .Lpccsp:.long 0x00080000,0x80000000 + .Lchkcsp |
282 | .Lpcmvpg:.long 0x00080000,0x80000000 + .Lchkmvpg | 292 | .Lpcmvpg:.long 0x00080000,0x80000000 + .Lchkmvpg |
283 | .Lpcidte:.long 0x00080000,0x80000000 + .Lchkidte | 293 | .Lpcidte:.long 0x00080000,0x80000000 + .Lchkidte |
294 | .Lpcdiag9c:.long 0x00080000,0x80000000 + .Lchkdiag9c | ||
284 | .Lmemsize:.long memory_size | 295 | .Lmemsize:.long memory_size |
285 | .Lmchunk:.long memory_chunk | 296 | .Lmchunk:.long memory_chunk |
286 | .Lmflags:.long machine_flags | 297 | .Lmflags:.long machine_flags |