sandbox: Set up global data before board_init_f()

At present sandbox defines CONFIG_SYS_GENERIC_GLOBAL_DATA, meaning that
the global_data pointer is set up in board_init_f().

If we set up and zero the global data before calling board_init_f() then we
don't need to define CONFIG_SYS_GENERIC_GLOBAL_DATA.

Make this change to simplify the init process.

Signed-off-by: Simon Glass <sjg@chromium.org>
master
Simon Glass 10 years ago
parent d93041a4ca
commit 4d94dfa059
  1. 5
      arch/sandbox/cpu/start.c
  2. 1
      arch/sandbox/include/asm/config.h

@ -6,6 +6,7 @@
#include <common.h>
#include <os.h>
#include <asm/getopt.h>
#include <asm/io.h>
#include <asm/sections.h>
#include <asm/state.h>
@ -218,6 +219,7 @@ SANDBOX_CMDLINE_OPT_SHORT(terminal, 't', 1,
int main(int argc, char *argv[])
{
struct sandbox_state *state;
gd_t data;
int ret;
ret = state_init();
@ -236,6 +238,9 @@ int main(int argc, char *argv[])
if (state->ram_buf_rm && state->ram_buf_fname)
os_unlink(state->ram_buf_fname);
memset(&data, '\0', sizeof(data));
gd = &data;
/* Do pre- and post-relocation init */
board_init_f(0);

@ -7,7 +7,6 @@
#ifndef _ASM_CONFIG_H_
#define _ASM_CONFIG_H_
#define CONFIG_SYS_GENERIC_GLOBAL_DATA
#define CONFIG_SANDBOX_ARCH
/* Used by drivers/spi/sandbox_spi.c and arch/sandbox/include/asm/state.h */

Loading…
Cancel
Save