diff options
Diffstat (limited to 'arch/s390/kernel/head.S')
-rw-r--r-- | arch/s390/kernel/head.S | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/s390/kernel/head.S b/arch/s390/kernel/head.S index fc8bf5e285f6..d12cff11b4bc 100644 --- a/arch/s390/kernel/head.S +++ b/arch/s390/kernel/head.S | |||
@@ -535,8 +535,13 @@ startup:basr %r13,0 # get base | |||
535 | lhi %r1,0 | 535 | lhi %r1,0 |
536 | icm %r1,3,.Lscpincr1-PARMAREA(%r4) # use this one if != 0 | 536 | icm %r1,3,.Lscpincr1-PARMAREA(%r4) # use this one if != 0 |
537 | jnz .Lscnd | 537 | jnz .Lscnd |
538 | l %r1,.Lscpincr2-PARMAREA+4(%r4) # otherwise use this one | 538 | lhi %r1,0x800 # otherwise report 2GB |
539 | .Lscnd: | 539 | .Lscnd: |
540 | lhi %r3,0x800 # limit reported memory size to 2GB | ||
541 | cr %r1,%r3 | ||
542 | jl .Lno2gb | ||
543 | lr %r1,%r3 | ||
544 | .Lno2gb: | ||
540 | xr %r3,%r3 # same logic | 545 | xr %r3,%r3 # same logic |
541 | ic %r3,.Lscpa1-PARMAREA(%r4) | 546 | ic %r3,.Lscpa1-PARMAREA(%r4) |
542 | chi %r3,0x00 | 547 | chi %r3,0x00 |
@@ -765,7 +770,7 @@ _stext: basr %r13,0 # get base | |||
765 | 770 | ||
766 | # check control registers | 771 | # check control registers |
767 | stctl %c0,%c15,0(%r15) | 772 | stctl %c0,%c15,0(%r15) |
768 | oi 2(%r15),0x20 # enable sigp external interrupts | 773 | oi 2(%r15),0x40 # enable sigp emergency signal |
769 | oi 0(%r15),0x10 # switch on low address protection | 774 | oi 0(%r15),0x10 # switch on low address protection |
770 | lctl %c0,%c15,0(%r15) | 775 | lctl %c0,%c15,0(%r15) |
771 | 776 | ||