Skip to content
  • David Brownell's avatar
    target: are we running algorithm code? · 876bf9bf
    David Brownell authored
    
    
    Fixing one bug can easily uncover another  .... in this case,
    making sure that we properly invalidate some cached NOR state when
    resuming arbitrary target code turned up an issue when the code
    wasn't quite arbitrary (and we couldn't know that, but some parts
    of OpenOCD assumed the cache would not be invalidated.
    
    Specifically:  some flash drivers (like CFI) update that state in loops
    with downloaded algorithms, thus invalidating the state as it's probed.
    
     + Add a new target state flag, to record whether the target is
      running downloaded algorithm code.
    
     + Use that flag to add a special case:  "trust" downloaded algorithms
       not to corrupt that cached state, bypassing cache invalidation.
    
    Also update some of the documentation to stipulate that this flavor of
    trustworthiness is now *required* ... not just a fortuitous acident.
    
    Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    876bf9bf