Merge tag 's390-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
[sfrench/cifs-2.6.git] / arch / s390 / boot / boot.h
index 567d60f78bbcca273378a6f66e748df167a4af13..18027fdc92b0c9b4b12170f28ac5ee4bd64ff03a 100644 (file)
@@ -17,7 +17,6 @@ struct machine_info {
 };
 
 struct vmlinux_info {
-       unsigned long default_lma;
        unsigned long entry;
        unsigned long image_size;       /* does not include .bss */
        unsigned long bss_size;         /* uncompressed image .bss size */
@@ -25,14 +24,8 @@ struct vmlinux_info {
        unsigned long bootdata_size;
        unsigned long bootdata_preserved_off;
        unsigned long bootdata_preserved_size;
-#ifdef CONFIG_PIE_BUILD
-       unsigned long dynsym_start;
-       unsigned long rela_dyn_start;
-       unsigned long rela_dyn_end;
-#else
        unsigned long got_start;
        unsigned long got_end;
-#endif
        unsigned long amode31_size;
        unsigned long init_mm_off;
        unsigned long swapper_pg_dir_off;
@@ -74,10 +67,11 @@ void sclp_early_setup_buffer(void);
 void print_pgm_check_info(void);
 unsigned long randomize_within_range(unsigned long size, unsigned long align,
                                     unsigned long min, unsigned long max);
-void setup_vmem(unsigned long asce_limit);
+void setup_vmem(unsigned long kernel_start, unsigned long kernel_end, unsigned long asce_limit);
 void __printf(1, 2) decompressor_printk(const char *fmt, ...);
 void print_stacktrace(unsigned long sp);
 void error(char *m);
+int get_random(unsigned long limit, unsigned long *value);
 
 extern struct machine_info machine;
 
@@ -98,6 +92,10 @@ extern struct vmlinux_info _vmlinux_info;
 #define vmlinux _vmlinux_info
 
 #define __abs_lowcore_pa(x)    (((unsigned long)(x) - __abs_lowcore) % sizeof(struct lowcore))
+#define __kernel_va(x)         ((void *)((unsigned long)(x) - __kaslr_offset_phys + __kaslr_offset))
+#define __kernel_pa(x)         ((unsigned long)(x) - __kaslr_offset + __kaslr_offset_phys)
+#define __identity_va(x)       ((void *)((unsigned long)(x) + __identity_base))
+#define __identity_pa(x)       ((unsigned long)(x) - __identity_base)
 
 static inline bool intersects(unsigned long addr0, unsigned long size0,
                              unsigned long addr1, unsigned long size1)