1. 01 Dec, 2009 1 commit
  2. 28 Nov, 2009 4 commits
    • Zachary T Welch's avatar
      explode tcl_target_func into many handlers · 070259ca
      Zachary T Welch authored
      Eliminate the monolithic tcl_target_func by registering each of its
      commands using the new chained command registration mechanism.
      
      Also chains the target's commands under the CPU command, though these
      may not work properly without some further modification.
      070259ca
    • Zachary T Welch's avatar
      split jim_target into multiple handlers · cb8d567b
      Zachary T Welch authored
      The 'target' command group was implemented using its own command
      dispatching, which can be eliminated by using the new chained command
      registration mechanism.  This patch splits the jim_target() function
      into individual handlers, which makes them to be visible to the help and
      usage commands.  These one-trick handlers are much easier to understand.
      cb8d567b
    • David Brownell's avatar
      target: uplevel add_{break,watch}point() error checks · acbe054a
      David Brownell authored
      
      
      In target_type.h it's documented that the target must be
      halted for add_breakpoint() ... and with slight ambiguity,
      also for its add_watchpoint() sibling.  So rather than
      verifying that constraint in the CPU drivers, do it in the
      target_add_{break,watch}point() routines.
      
      Add minor paranoia on the remove_*point() paths too:  save
      the return value, and print it out in in the LOG_DEBUG message
      in case it's nonzero.
      
      Note that with some current cores, like all ARMv7 ones I've
      looked at, there's no technical issue preventing watchpoint or
      breakpoint add/remove operations on active cores.  This model
      seems deeply wired into OpenOCD though.
      
      ALSO:  the ARM targets were fairly "good" about enforcing that
      constraint themselves.  The MIPS ones were relied on other code
      to catch such stuff, but it's not clear such code existed ...
      keep an eye out for new issues on MIPS.
      
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      acbe054a
    • David Brownell's avatar
      target: groundwork for "reset-assert" event · 4e56a230
      David Brownell authored
      
      
      This defines a "reset-assert" event and a supporting utility
      routine, and documents both how targets should implement it
      and how config scripts should use it.  Core-specific updates
      are needed to make this work.
      
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      4e56a230
  3. 26 Nov, 2009 2 commits
    • David Brownell's avatar
      target: create and use target_name() · 2653b803
      David Brownell authored
      
      
      Several of the sites now using target_type_name() really
      ought to be using an instance-specific name.  Create a
      function called target_name(), accessing the instance's
      own (command) name.
      
      Use it in several places that really should be displaying
      instance-specific names.  Also in several places which
      were already doing so, but which had no wrapper to call.
      
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      2653b803
    • David Brownell's avatar
      target: target_get_name() --> target_type_name() · b715a81f
      David Brownell authored
      
      
      There are two names that may matter on a per-target basis.
      One is a per-instance name (for example, "at91sam7s.cpu").
      The other is the name of its type (for example, "arm7tdmi"),
      which is shared among multiple targets.
      
      Currently target_get_name() returns the type name, which is
      misleading and is rarely appropriate for target diagnostics.
      Rename that as target_type_name().
      
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      b715a81f
  4. 25 Nov, 2009 5 commits
    • Zachary T Welch's avatar
      add 'testee' target type · 9d4c89f3
      Zachary T Welch authored
      Alliteration aside, this should provide the final piece of the puzzle
      for developers that want to get started writing a new target type.
      In this way, it also seeks to complement the 'dummy' interface driver
      and 'faux' NOR flash driver.
      9d4c89f3
    • Zachary T Welch's avatar
      add jim_handler to command_registration · 17a9dea5
      Zachary T Welch authored
      Adding jim_handler field to command_registration allows removing the
      register_jim helper.  All command registrations now go through the
      register_command{,s}() functions.
      17a9dea5
    • Zachary T Welch's avatar
      remove target_type register_command callback · 66ee3034
      Zachary T Welch authored
      Uses chaining of command_registration structures to eliminate all
      target_type register_callback routines.  Exports the command_handler
      registration arrays for those target types that are used by others.
      66ee3034
    • Zachary T Welch's avatar
      target: use register_commands() · 4e67912f
      Zachary T Welch authored
      4e67912f
    • Zachary T Welch's avatar
      use COMMAND_REGISTER macro · 833e7f52
      Zachary T Welch authored
      Replaces direct calls to register_command() with a macro, to allow
      its parameters to be changed and callers updated in phases.
      833e7f52
  5. 22 Nov, 2009 1 commit
  6. 20 Nov, 2009 1 commit
  7. 18 Nov, 2009 2 commits
  8. 17 Nov, 2009 4 commits
  9. 16 Nov, 2009 4 commits
    • Zachary T Welch's avatar
      fileio: improve API types · 51862bb9
      Zachary T Welch authored
      Use size_t instead of uint32_t when specifying file sizes.  Update all
      consumers up through the layers to use size_t when required.  These
      changes should be safe, but the higher-levels will need to be updated
      further to receive the intended benefits (i.e. large file support).
      
      Add error checking for fileio_read and file_write.  Previously, all
      errors were being silently ignored, so this change might cause some
      problems for some people in some cases.  However, it gives us the chance
      to handle any errors that do occur at higher-levels, rather than burying
      our heads in the sand.
      51862bb9
    • Zachary T Welch's avatar
      struct fileio: improve member types · 69df712d
      Zachary T Welch authored
      Add const keyword to file url and cast to free().
      
      Make size an ssize_t and chase all format strings that use it.
      69df712d
    • Zachary T Welch's avatar
      rename CEIL as DIV_ROUND_UP · a94748ec
      Zachary T Welch authored
      Improves the name of this macro, moves it to types.h, and adds a block
      of Doxygen comments to describe what it does.
      a94748ec
    • David Brownell's avatar
      target: don't implicitly include "breakpoint.h" · aa7c4496
      David Brownell authored
      
      
      Most files in the tree seem to have ended up including this,
      and *quite* needlessly ... only code implementing or using
      breakpoints actually needs these declarations.
      
      So take it out of the header files which included it, and put
      it in files which use it ... reduce needless interdependencies.
      
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      aa7c4496
  10. 15 Nov, 2009 2 commits
    • David Brownell's avatar
      target: make "examined" flag be per-target · 9ac7cdec
      David Brownell authored
      
      
      Previously this flag was stored in "target_type", so that for example
      if there were two ARM7TDMI targets in a scan chain, both would claim
      to have been examined although only the first one actually had its
      examine() method called.
      
      Move this state to where it should have been in the first place, and
      hide a method that didn't need exposure ... the flag is write-once.
      
      Provide some doxygen.  The examine() method is confusing, since it
      isn't separating one-time setup from the after-each-reset stuff.  And
      the ARM7/ARM9 version is, somewhat undesirably, not leaving the debug
      state alone after reset ... probably more of an issue for trace setup
      than for watchpoints and breakpoints.
      
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      9ac7cdec
    • Krzysztof Dziuba's avatar
      Fix for md* commands, similar to mw*. · c2edc790
      Krzysztof Dziuba authored
      c2edc790
  11. 14 Nov, 2009 2 commits
  12. 13 Nov, 2009 12 commits