x86: Allow setup code to manage its own global data
authorSimon Glass <sjg@chromium.org>
Mon, 15 Apr 2013 11:25:20 +0000 (11:25 +0000)
committerSimon Glass <sjg@chromium.org>
Mon, 15 Apr 2013 23:26:41 +0000 (16:26 -0700)
Currently x86 has its own means of managing the global data and board data
(bd_t), and this code resides in start.S. With generic board, we need to
ensure that we leave this alone - i.e. don't clear it as we do on other
archs.

This fixes a problem where the memory init data is cleared which causes
the video driver to operate very slowly.

Signed-off-by: Simon Glass <sjg@chromium.org>
common/board_f.c
common/board_r.c

index 32d5215..00ca811 100644 (file)
@@ -755,7 +755,7 @@ static int mark_bootstage(void)
 static init_fnc_t init_sequence_f[] = {
 #if !defined(CONFIG_CPM2) && !defined(CONFIG_MPC512X) && \
                !defined(CONFIG_MPC83xx) && !defined(CONFIG_MPC85xx) && \
-               !defined(CONFIG_MPC86xx)
+               !defined(CONFIG_MPC86xx) && !defined(CONFIG_X86)
        zero_global_data,
 #endif
        setup_fdt,
index 9605f80..2b17fa6 100644 (file)
@@ -722,9 +722,6 @@ init_fnc_t init_sequence_r[] = {
 #ifdef CONFIG_CLOCKS
        set_cpu_clk_info, /* Setup clock information */
 #endif
-#ifdef CONFIG_X86
-       init_bd_struct_r,
-#endif
        initr_reloc_global_data,
        initr_serial,
        initr_announce,