Since commit 
9a965ea95135 ("s390/kexec_file: Simplify parmarea
access") we have struct parmarea which describes the layout of the
kernel parameter area.
Make the kernel parameter area available as global variable parmarea
of type struct parmarea, which allows to easily access its members.
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
 # Must be keept in sync with struct parmarea in setup.h
 #
        .org    PARMAREA
+SYM_DATA_START(parmarea)
        .quad   0                       # IPL_DEVICE
        .quad   0                       # INITRD_START
        .quad   0                       # INITRD_SIZE
        .org    COMMAND_LINE
        .byte   "root=/dev/ram0 ro"
        .byte   0
+       .org    PARMAREA+__PARMAREA_SIZE
+SYM_DATA_END(parmarea)
 
        .org    EARLY_SCCB_OFFSET
        .fill   4096
 
        char command_line[ARCH_COMMAND_LINE_SIZE];      /* 0x10480 */
 };
 
+extern struct parmarea parmarea;
+
 extern unsigned int zlib_dfltcc_support;
 #define ZLIB_DFLTCC_DISABLED           0
 #define ZLIB_DFLTCC_FULL               1
 
 #include <asm/idle.h>
 #include <asm/gmap.h>
 #include <asm/nmi.h>
+#include <asm/setup.h>
 #include <asm/stacktrace.h>
 
 int main(void)
        OFFSET(__KEXEC_SHA_REGION_START, kexec_sha_region, start);
        OFFSET(__KEXEC_SHA_REGION_LEN, kexec_sha_region, len);
        DEFINE(__KEXEC_SHA_REGION_SIZE, sizeof(struct kexec_sha_region));
+       /* sizeof kernel parameter area */
+       DEFINE(__PARMAREA_SIZE, sizeof(struct parmarea));
        return 0;
 }