• Simon Glass's avatar
    sandbox: Add un/map_sysmen() to deal with sandbox's ram_buf · 4213fc29
    Simon Glass authored
    Sandbox doesn't actually provide U-Boot access to the machine's physical
    memory. Instead it provides a RAM buffer of configurable size, and all
    memory accesses are within that buffer. Sandbox memory starts at 0 and
    is CONFIG_DRAM_SIZE bytes in size. Allowing access outside this buffer
    might produce unpredictable results in the event of an error, and would
    expose the host machine's memory architecture to the sandbox U-Boot.
    Most U-Boot functions assume that they can just access memory at given
    address. For sandbox this is not true.
    Add a map_sysmem() call which converts a U-Boot address to a system
    address. In most cases this is a NOP, but for sandbox it returns a
    pointer to that memory inside the RAM buffer.
    To get a U-Boot feature to work correctly within sandbox, you should call
    map_sysmem() to get a pointer to the address, and then use that address for
    any U-Boot memory accesses.
    Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>