]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
s390/boot: Replace S390_lowcore by get_lowcore()
authorSven Schnelle <svens@linux.ibm.com>
Mon, 10 Jun 2024 11:45:27 +0000 (13:45 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Tue, 18 Jun 2024 15:01:33 +0000 (17:01 +0200)
Replace all S390_lowcore usages in arch/s390/boot by get_lowcore().

Acked-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/boot/ipl_parm.c
arch/s390/boot/ipl_report.c
arch/s390/boot/pgm_check_info.c
arch/s390/boot/physmem_info.c
arch/s390/boot/startup.c
arch/s390/boot/vmem.c

index b24de9aabf7d8a895ef4583e06370e2068395de2..a21f301acd2962b23677cce09a269746637e50cb 100644 (file)
@@ -51,11 +51,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;
 }
index 1803035e68d2ca53e2d61e32c8cd229ad5dae548..d00898852a88acf6da79c845ece77dfb0dd33c54 100644 (file)
@@ -106,7 +106,7 @@ int read_ipl_report(void)
         * the IPL parameter list, then align the address to a double
         * word boundary.
         */
-       tmp = (unsigned long) S390_lowcore.ipl_parmblock_ptr;
+       tmp = (unsigned long)get_lowcore()->ipl_parmblock_ptr;
        pl_hdr = (struct ipl_pl_hdr *) tmp;
        tmp = (tmp + pl_hdr->len + 7) & -8UL;
        rl_hdr = (struct ipl_rl_hdr *) tmp;
index ea96275b0380393f1cd4088f6bdfdce0c505b493..5352b3d356da04c14c8d32dbed8736c3b35284e9 100644 (file)
@@ -145,22 +145,22 @@ void print_stacktrace(unsigned long sp)
 
 void print_pgm_check_info(void)
 {
-       unsigned long *gpregs = (unsigned long *)S390_lowcore.gpregs_save_area;
-       struct psw_bits *psw = &psw_bits(S390_lowcore.psw_save_area);
+       unsigned long *gpregs = (unsigned long *)get_lowcore()->gpregs_save_area;
+       struct psw_bits *psw = &psw_bits(get_lowcore()->psw_save_area);
 
        decompressor_printk("Linux version %s\n", kernel_version);
        if (!is_prot_virt_guest() && early_command_line[0])
                decompressor_printk("Kernel command line: %s\n", early_command_line);
        decompressor_printk("Kernel fault: interruption code %04x ilc:%x\n",
-                           S390_lowcore.pgm_code, S390_lowcore.pgm_ilc >> 1);
+                           get_lowcore()->pgm_code, get_lowcore()->pgm_ilc >> 1);
        if (kaslr_enabled()) {
                decompressor_printk("Kernel random base: %lx\n", __kaslr_offset);
                decompressor_printk("Kernel random base phys: %lx\n", __kaslr_offset_phys);
        }
        decompressor_printk("PSW : %016lx %016lx (%pS)\n",
-                           S390_lowcore.psw_save_area.mask,
-                           S390_lowcore.psw_save_area.addr,
-                           (void *)S390_lowcore.psw_save_area.addr);
+                           get_lowcore()->psw_save_area.mask,
+                           get_lowcore()->psw_save_area.addr,
+                           (void *)get_lowcore()->psw_save_area.addr);
        decompressor_printk(
                "      R:%x T:%x IO:%x EX:%x Key:%x M:%x W:%x P:%x AS:%x CC:%x PM:%x RI:%x EA:%x\n",
                psw->per, psw->dat, psw->io, psw->ext, psw->key, psw->mcheck,
@@ -174,8 +174,8 @@ void print_pgm_check_info(void)
                            gpregs[8], gpregs[9], gpregs[10], gpregs[11]);
        decompressor_printk("      %016lx %016lx %016lx %016lx\n",
                            gpregs[12], gpregs[13], gpregs[14], gpregs[15]);
-       print_stacktrace(S390_lowcore.gpregs_save_area[15]);
+       print_stacktrace(get_lowcore()->gpregs_save_area[15]);
        decompressor_printk("Last Breaking-Event-Address:\n");
-       decompressor_printk(" [<%016lx>] %pS\n", (unsigned long)S390_lowcore.pgm_last_break,
-                           (void *)S390_lowcore.pgm_last_break);
+       decompressor_printk(" [<%016lx>] %pS\n", (unsigned long)get_lowcore()->pgm_last_break,
+                           (void *)get_lowcore()->pgm_last_break);
 }
index 0cf79826eef99bdea136dab3b6ad2a0e4b4e80f6..4c9ad8258f7eaf7af528ff2b0685e236af593f31 100644 (file)
@@ -81,11 +81,11 @@ static int __diag260(unsigned long rx1, unsigned long rx2)
                  [reg2] "=&a" (reg2),
                  [rc] "+&d" (rc),
                  [ry] "+&d" (ry),
-                 "+Q" (S390_lowcore.program_new_psw),
+                 "+Q" (get_lowcore()->program_new_psw),
                  "=Q" (old)
                : [rx] "d" (rx.pair),
                  [psw_old] "a" (&old),
-                 [psw_pgm] "a" (&S390_lowcore.program_new_psw)
+                 [psw_pgm] "a" (&get_lowcore()->program_new_psw)
                : "cc", "memory");
        return rc == 0 ? ry : -1;
 }
@@ -129,10 +129,10 @@ static int tprot(unsigned long addr)
                : [reg1] "=&d" (reg1),
                  [reg2] "=&a" (reg2),
                  [rc] "+&d" (rc),
-                 "=Q" (S390_lowcore.program_new_psw.addr),
+                 "=Q" (get_lowcore()->program_new_psw.addr),
                  "=Q" (old)
                : [psw_old] "a" (&old),
-                 [psw_pgm] "a" (&S390_lowcore.program_new_psw),
+                 [psw_pgm] "a" (&get_lowcore()->program_new_psw),
                  [addr] "a" (addr)
                : "cc", "memory");
        return rc;
index 182aac6a0f779592d70f17cc193be1ee9d5b42c3..4d04ab84c20ee20777ef0b13653debf6f694d333 100644 (file)
@@ -78,10 +78,10 @@ static int cmma_test_essa(void)
                  [reg2] "=&a" (reg2),
                  [rc] "+&d" (rc),
                  [tmp] "=&d" (tmp),
-                 "+Q" (S390_lowcore.program_new_psw),
+                 "+Q" (get_lowcore()->program_new_psw),
                  "=Q" (old)
                : [psw_old] "a" (&old),
-                 [psw_pgm] "a" (&S390_lowcore.program_new_psw),
+                 [psw_pgm] "a" (&get_lowcore()->program_new_psw),
                  [cmd] "i" (ESSA_GET_STATE)
                : "cc", "memory");
        return rc;
@@ -101,10 +101,10 @@ static void cmma_init(void)
 
 static void setup_lpp(void)
 {
-       S390_lowcore.current_pid = 0;
-       S390_lowcore.lpp = LPP_MAGIC;
+       get_lowcore()->current_pid = 0;
+       get_lowcore()->lpp = LPP_MAGIC;
        if (test_facility(40))
-               lpp(&S390_lowcore.lpp);
+               lpp(&get_lowcore()->lpp);
 }
 
 #ifdef CONFIG_KERNEL_UNCOMPRESSED
@@ -477,7 +477,7 @@ void startup_kernel(void)
         * Save KASLR offset for early dumps, before vmcore_info is set.
         * Mark as uneven to distinguish from real vmcore_info pointer.
         */
-       S390_lowcore.vmcore_info = __kaslr_offset_phys ? __kaslr_offset_phys | 0x1UL : 0;
+       get_lowcore()->vmcore_info = __kaslr_offset_phys ? __kaslr_offset_phys | 0x1UL : 0;
 
        /*
         * Jump to the decompressed kernel entry point and switch DAT mode on.
index 96d48b7112d40b09a6195f7b27fccd967ccbeab2..07d697eb279d73e1f09d6cd545bde2e4895b1717 100644 (file)
@@ -470,13 +470,13 @@ void setup_vmem(unsigned long kernel_start, unsigned long kernel_end, unsigned l
 
        kasan_populate_shadow(kernel_start, kernel_end);
 
-       S390_lowcore.kernel_asce.val = swapper_pg_dir | asce_bits;
-       S390_lowcore.user_asce = s390_invalid_asce;
+       get_lowcore()->kernel_asce.val = swapper_pg_dir | asce_bits;
+       get_lowcore()->user_asce = s390_invalid_asce;
 
-       local_ctl_load(1, &S390_lowcore.kernel_asce);
-       local_ctl_load(7, &S390_lowcore.user_asce);
-       local_ctl_load(13, &S390_lowcore.kernel_asce);
+       local_ctl_load(1, &get_lowcore()->kernel_asce);
+       local_ctl_load(7, &get_lowcore()->user_asce);
+       local_ctl_load(13, &get_lowcore()->kernel_asce);
 
-       init_mm.context.asce = S390_lowcore.kernel_asce.val;
+       init_mm.context.asce = get_lowcore()->kernel_asce.val;
        init_mm.pgd = init_mm_pgd;
 }