Skip to content
Snippets Groups Projects
  • Simon Glass's avatar
    b383d6c0
    bootstage: Convert to use malloc() · b383d6c0
    Simon Glass authored
    
    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: default avatarSimon Glass <sjg@chromium.org>
    b383d6c0
    History
    bootstage: Convert to use malloc()
    Simon Glass authored
    
    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: default avatarSimon Glass <sjg@chromium.org>