s390/sclp: provide extended sccb support
authorSumanth Korikkar <sumanthk@linux.ibm.com>
Wed, 11 Nov 2020 07:03:02 +0000 (01:03 -0600)
committerHeiko Carstens <hca@linux.ibm.com>
Wed, 18 Nov 2020 11:16:02 +0000 (12:16 +0100)
commitb971cbd03ee0a24f7af47b681e8f911794c69780
treee5eaec17dc4235384324ad7302f1031da587f66f
parentd25d23e134a43457759fa602a15c1e9fce741727
s390/sclp: provide extended sccb support

As the number of cpus increases, the sccb response can exceed 4k for
read cpu and read scp info sclp commands. Hence, all cpu info entries
cant be embedded within a sccb response

Solution:
To overcome this limitation, extended sccb facility is provided by sclp.

1. Check if the extended sccb facility is installed.
2. If extended sccb is installed, perform the read scp and read cpu
   command considering a max sccb length of three page size. This max
   length is based on factors like max cpus, sccb header.
3. If extended sccb is not installed, perform the read scp and read cpu
   sclp command considering a max sccb length of one page size.

Signed-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
Reviewed-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/include/asm/sclp.h
arch/s390/include/asm/setup.h
drivers/s390/char/sclp.h
drivers/s390/char/sclp_cmd.c
drivers/s390/char/sclp_early.c
drivers/s390/char/sclp_early_core.c