diff options
Diffstat (limited to 'arch/s390/boot/ipl_parm.c')
| -rw-r--r-- | arch/s390/boot/ipl_parm.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/s390/boot/ipl_parm.c b/arch/s390/boot/ipl_parm.c index b24de9aabf7d..1773b72a6a7b 100644 --- a/arch/s390/boot/ipl_parm.c +++ b/arch/s390/boot/ipl_parm.c @@ -3,6 +3,7 @@ #include <linux/init.h> #include <linux/ctype.h> #include <linux/pgtable.h> +#include <asm/abs_lowcore.h> #include <asm/page-states.h> #include <asm/ebcdic.h> #include <asm/sclp.h> @@ -51,11 +52,11 @@ static inline int __diag308(unsigned long subcode, void *addr) : [r1] "+&d" (r1.pair), [reg1] "=&d" (reg1), [reg2] "=&a" (reg2), - "+Q" (S390_lowcore.program_new_psw), + "+Q" (get_lowcore()->program_new_psw), "=Q" (old) : [subcode] "d" (subcode), [psw_old] "a" (&old), - [psw_pgm] "a" (&S390_lowcore.program_new_psw) + [psw_pgm] "a" (&get_lowcore()->program_new_psw) : "cc", "memory"); return r1.odd; } @@ -310,5 +311,7 @@ void parse_boot_command_line(void) prot_virt_host = 1; } #endif + if (!strcmp(param, "relocate_lowcore") && test_facility(193)) + relocate_lowcore = 1; } } |