Commit bc065e47 authored by Greg Ungerer's avatar Greg Ungerer

m68knommu: fix early setup to not access variables

The early setup code for the ColdFire 53xx platform accesses variables
before the RAM and other system initialization steps may have taken place.
Currently it has 2 global variables that will end up in the bss section
that are accessed during this early setup. There is a special static RAM
stack setup at this time, but not necessarily the RAM where kernel data
sections will end up.

Even on system setups where RAM is setup by a boot loader the access
to the early setup variables is before the BSS section has been initialized.
This can potentially corrupt a ram loaded root filesystem that sits in that
memory area before it has been moved.

These 2 variables are not used at all after being set, and can just be
removed.
Reported-by: default avatarChristian Gieseler <christiangieseler@yahoo.de>
Signed-off-by: default avatarGreg Ungerer <gerg@linux-m68k.org>
parent 08895a8b
...@@ -271,9 +271,6 @@ void __init config_BSP(char *commandp, int size) ...@@ -271,9 +271,6 @@ void __init config_BSP(char *commandp, int size)
#define NAND_FLASH_ADDRESS (0xD0000000) #define NAND_FLASH_ADDRESS (0xD0000000)
int sys_clk_khz = 0;
int sys_clk_mhz = 0;
void wtm_init(void); void wtm_init(void);
void scm_init(void); void scm_init(void);
void gpio_init(void); void gpio_init(void);
...@@ -286,9 +283,8 @@ int get_sys_clock (void); ...@@ -286,9 +283,8 @@ int get_sys_clock (void);
asmlinkage void __init sysinit(void) asmlinkage void __init sysinit(void)
{ {
sys_clk_khz = clock_pll(0, 0); clock_pll(0, 0);
sys_clk_mhz = sys_clk_khz/1000;
wtm_init(); wtm_init();
scm_init(); scm_init();
gpio_init(); gpio_init();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment