|
@@ -48,6 +48,9 @@
|
|
|
|
|
|
#include <linux/linux_logo.h>
|
|
#include <linux/linux_logo.h>
|
|
|
|
|
|
|
|
+/* All of prom_init bss lives here */
|
|
|
|
+#define __prombss __initdata
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* Eventually bump that one up
|
|
* Eventually bump that one up
|
|
*/
|
|
*/
|
|
@@ -87,7 +90,7 @@
|
|
#define OF_WORKAROUNDS 0
|
|
#define OF_WORKAROUNDS 0
|
|
#else
|
|
#else
|
|
#define OF_WORKAROUNDS of_workarounds
|
|
#define OF_WORKAROUNDS of_workarounds
|
|
-static int of_workarounds;
|
|
|
|
|
|
+static int of_workarounds __prombss;
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#define OF_WA_CLAIM 1 /* do phys/virt claim separately, then map */
|
|
#define OF_WA_CLAIM 1 /* do phys/virt claim separately, then map */
|
|
@@ -148,26 +151,26 @@ extern void copy_and_flush(unsigned long dest, unsigned long src,
|
|
unsigned long size, unsigned long offset);
|
|
unsigned long size, unsigned long offset);
|
|
|
|
|
|
/* prom structure */
|
|
/* prom structure */
|
|
-static struct prom_t __initdata prom;
|
|
|
|
|
|
+static struct prom_t __prombss prom;
|
|
|
|
|
|
-static unsigned long prom_entry __initdata;
|
|
|
|
|
|
+static unsigned long __prombss prom_entry;
|
|
|
|
|
|
#define PROM_SCRATCH_SIZE 256
|
|
#define PROM_SCRATCH_SIZE 256
|
|
|
|
|
|
-static char __initdata of_stdout_device[256];
|
|
|
|
-static char __initdata prom_scratch[PROM_SCRATCH_SIZE];
|
|
|
|
|
|
+static char __prombss of_stdout_device[256];
|
|
|
|
+static char __prombss prom_scratch[PROM_SCRATCH_SIZE];
|
|
|
|
|
|
-static unsigned long __initdata dt_header_start;
|
|
|
|
-static unsigned long __initdata dt_struct_start, dt_struct_end;
|
|
|
|
-static unsigned long __initdata dt_string_start, dt_string_end;
|
|
|
|
|
|
+static unsigned long __prombss dt_header_start;
|
|
|
|
+static unsigned long __prombss dt_struct_start, dt_struct_end;
|
|
|
|
+static unsigned long __prombss dt_string_start, dt_string_end;
|
|
|
|
|
|
-static unsigned long __initdata prom_initrd_start, prom_initrd_end;
|
|
|
|
|
|
+static unsigned long __prombss prom_initrd_start, prom_initrd_end;
|
|
|
|
|
|
#ifdef CONFIG_PPC64
|
|
#ifdef CONFIG_PPC64
|
|
-static int __initdata prom_iommu_force_on;
|
|
|
|
-static int __initdata prom_iommu_off;
|
|
|
|
-static unsigned long __initdata prom_tce_alloc_start;
|
|
|
|
-static unsigned long __initdata prom_tce_alloc_end;
|
|
|
|
|
|
+static int __prombss prom_iommu_force_on;
|
|
|
|
+static int __prombss prom_iommu_off;
|
|
|
|
+static unsigned long __prombss prom_tce_alloc_start;
|
|
|
|
+static unsigned long __prombss prom_tce_alloc_end;
|
|
#endif
|
|
#endif
|
|
|
|
|
|
static bool prom_radix_disable __initdata = !IS_ENABLED(CONFIG_PPC_RADIX_MMU_DEFAULT);
|
|
static bool prom_radix_disable __initdata = !IS_ENABLED(CONFIG_PPC_RADIX_MMU_DEFAULT);
|
|
@@ -190,22 +193,22 @@ struct platform_support {
|
|
#define PLATFORM_GENERIC 0x0500
|
|
#define PLATFORM_GENERIC 0x0500
|
|
#define PLATFORM_OPAL 0x0600
|
|
#define PLATFORM_OPAL 0x0600
|
|
|
|
|
|
-static int __initdata of_platform;
|
|
|
|
|
|
+static int __prombss of_platform;
|
|
|
|
|
|
-static char __initdata prom_cmd_line[COMMAND_LINE_SIZE];
|
|
|
|
|
|
+static char __prombss prom_cmd_line[COMMAND_LINE_SIZE];
|
|
|
|
|
|
-static unsigned long __initdata prom_memory_limit;
|
|
|
|
|
|
+static unsigned long __prombss prom_memory_limit;
|
|
|
|
|
|
-static unsigned long __initdata alloc_top;
|
|
|
|
-static unsigned long __initdata alloc_top_high;
|
|
|
|
-static unsigned long __initdata alloc_bottom;
|
|
|
|
-static unsigned long __initdata rmo_top;
|
|
|
|
-static unsigned long __initdata ram_top;
|
|
|
|
|
|
+static unsigned long __prombss alloc_top;
|
|
|
|
+static unsigned long __prombss alloc_top_high;
|
|
|
|
+static unsigned long __prombss alloc_bottom;
|
|
|
|
+static unsigned long __prombss rmo_top;
|
|
|
|
+static unsigned long __prombss ram_top;
|
|
|
|
|
|
-static struct mem_map_entry __initdata mem_reserve_map[MEM_RESERVE_MAP_SIZE];
|
|
|
|
-static int __initdata mem_reserve_cnt;
|
|
|
|
|
|
+static struct mem_map_entry __prombss mem_reserve_map[MEM_RESERVE_MAP_SIZE];
|
|
|
|
+static int __prombss mem_reserve_cnt;
|
|
|
|
|
|
-static cell_t __initdata regbuf[1024];
|
|
|
|
|
|
+static cell_t __prombss regbuf[1024];
|
|
|
|
|
|
static bool rtas_has_query_cpu_stopped;
|
|
static bool rtas_has_query_cpu_stopped;
|
|
|
|
|
|
@@ -1568,8 +1571,8 @@ static void __init prom_close_stdin(void)
|
|
#ifdef CONFIG_PPC_POWERNV
|
|
#ifdef CONFIG_PPC_POWERNV
|
|
|
|
|
|
#ifdef CONFIG_PPC_EARLY_DEBUG_OPAL
|
|
#ifdef CONFIG_PPC_EARLY_DEBUG_OPAL
|
|
-static u64 __initdata prom_opal_base;
|
|
|
|
-static u64 __initdata prom_opal_entry;
|
|
|
|
|
|
+static u64 __prombss prom_opal_base;
|
|
|
|
+static u64 __prombss prom_opal_entry;
|
|
#endif
|
|
#endif
|
|
|
|
|
|
/*
|
|
/*
|