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>
This commit is contained in:
@@ -110,6 +110,9 @@ typedef struct global_data {
|
||||
ulong video_top; /* Top of video frame buffer area */
|
||||
ulong video_bottom; /* Bottom of video frame buffer area */
|
||||
#endif
|
||||
#ifdef CONFIG_BOOTSTAGE
|
||||
struct bootstage_data *bootstage; /* Bootstage information */
|
||||
#endif
|
||||
} gd_t;
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user