Skip to content
Snippets Groups Projects
  • Simon Glass's avatar
    428aa0ca
    sandbox: Enhance map_to_sysmem() to handle foreign pointers · 428aa0ca
    Simon Glass authored
    
    At present map_sysmem() maps an address into the sandbox RAM buffer,
    return a pointer, while map_to_sysmem() goes the other way.
    
    The mapping is currently just 1:1 since a case was not found where a more
    flexible mapping was needed. PCI does have a separate and more complex
    mapping, but uses its own mechanism.
    
    However this arrange cannot handle one important case, which is where a
    test declares a stack variable and passes a pointer to it into a U-Boot
    function which uses map_to_sysmem() to turn it into a address. Since the
    pointer is not inside emulated DRAM, this will fail.
    
    Add a mapping feature which can handle any such pointer, mapping it to a
    simple tag value which can be passed around in U-Boot as an address.
    
    Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
    Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    428aa0ca
    History
    sandbox: Enhance map_to_sysmem() to handle foreign pointers
    Simon Glass authored
    
    At present map_sysmem() maps an address into the sandbox RAM buffer,
    return a pointer, while map_to_sysmem() goes the other way.
    
    The mapping is currently just 1:1 since a case was not found where a more
    flexible mapping was needed. PCI does have a separate and more complex
    mapping, but uses its own mechanism.
    
    However this arrange cannot handle one important case, which is where a
    test declares a stack variable and passes a pointer to it into a U-Boot
    function which uses map_to_sysmem() to turn it into a address. Since the
    pointer is not inside emulated DRAM, this will fail.
    
    Add a mapping feature which can handle any such pointer, mapping it to a
    simple tag value which can be passed around in U-Boot as an address.
    
    Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
    Signed-off-by: default avatarAlexander Graf <agraf@suse.de>