bootstage: Convert to use malloc()
authorSimon Glass <sjg@chromium.org>
Mon, 22 May 2017 11:05:25 +0000 (05:05 -0600)
committerTom Rini <trini@konsulko.com>
Mon, 5 Jun 2017 18:13:04 +0000 (14:13 -0400)
commitb383d6c05e2587a7b3ea13855e4161bacb64feb9
tree80f2498137f15567794d49c65deca346817fbb61
parent5a0e275cbbc4f462495e9a7e04acf0f6bfbd13c5
bootstage: Convert to use malloc()

At present bootstage uses the data section of the image to store its
information. There are a few problems with this:

- It does not work on all boards (e.g. those which run from flash before
relocation)
- Allocated strings still point back to the pre-relocation data after
relocation

Now that U-Boot has a pre-relocation malloc() we can use this instead,
with a pointer to the data in global_data. Update bootstage to do this and
set up an init routine to allocate the memory.

Now that we have a real init function, we can drop the fake 'reset' record
and add a normal one instead.

Note that part of the problem with allocated strings remains. They are
reallocated but this will only work where pre-relocation memory is
accessible after relocation.

Signed-off-by: Simon Glass <sjg@chromium.org>
common/board_f.c
common/bootstage.c
include/asm-generic/global_data.h
include/bootstage.h