1. 12 Nov, 2009 5 commits
    • David Brownell's avatar
      ETM: remove old mid-level ETM handle · 5723e54f
      David Brownell authored
      
      
      Now that nothing uses the old ETM handle any more, remove it.
      Add minimal header tweaks, letting non-ARM7 and non-ARM9 cores
      access ETM facilities.
      
      Now ARM11 could support standard ETM (and ETB) access as soon as
      it derives from "struct arm" ... its scanchain 6 is used access
      the ETM, just like ARM7 and ARM9.
      
      The Cortex parts (both M3 and A8) will need modified access methods
      (via ETM init parameters), so they use the DAP.  Our first A8 target
      (OMAP3) needs that for both ETM and ETB, but the M3 ETM isn't very
      useful without SWO trace support (it's painfully stripped down), so
      that support won't be worth adding for a while.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      5723e54f
    • David Brownell's avatar
      ETM: use new toplevel ETM handle · e7405365
      David Brownell authored
      
      
      Make ETM itself use the new toplevel ETM handle, instead
      of the to-be-removed lower level one.  As of this patch,
      nothing should be using the old ARM7/ARM9-specific handle.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      e7405365
    • David Brownell's avatar
      ETM: update port drivers · 9855a11e
      David Brownell authored
      
      
      Make both useful ETM port drivers (etb, etm_dummy) use the new
      toplevel ETM handle, instead of the to-be-removed lower level one.
      
      Do the same for the "oocd-trace" prototype too; and fix its
      error reporting paths:  return failure codes, don't exit(), etc
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      9855a11e
    • David Brownell's avatar
      ETM: update arm[79]tdmi_examine() · 3ae44019
      David Brownell authored
      
      
      Make ARM7 and ARM9 cores use the new toplevel ETM handle to
      trigger ETM setup, not the to-be-removed lower level one.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      3ae44019
    • David Brownell's avatar
      ARM: start generalized base type · 4b20ed6b
      David Brownell authored
      
      
      Rename "struct armv4_5_common_s" as "struct arm".  It needs
      a bit more work to be properly generic, and to move out of
      this header, but it's the best start we have on that today.
      
      Add and initialize an optional ETM pointer, since that will
      be the first thing that gets generalized.
      
      The intent being:  all ARMs should eventually derive from
      this "struct arm", so they can reuse the current ETM logic.
      (And later, more.)  Currently the ARM cores that *don't* so
      derive are only ARMv7-M (and thus Cortex-M3) and ARM11.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      4b20ed6b
  2. 11 Nov, 2009 19 commits
    • Zachary T Welch's avatar
      fix 'jtag interface' behavior · 5e1b500b
      Zachary T Welch authored
      Without this patch, running "openocd -c 'jtag interface'" segfaults.
      Now, it returns the string "undefined" when the interface is unset.
      5e1b500b
    • Zachary T Welch's avatar
      improve command registration · 158698e3
      Zachary T Welch authored
      Eliminate duplicate code for linking commands into a list.
      
      Adds a check to ensure the command does not already exist;
      if it does, return that one instead of creating a duplicate.
      158698e3
    • Zachary T Welch's avatar
      add help regardless of callback · 46d9ba4c
      Zachary T Welch authored
      Add help for commands regardless of whether a handler is involved.
      With this, all sorts of new commands can be found in 'help' text.
      Hopefully, all of them have been documented....
      
      Sadly, the lsort function appears to handle nested lists poorly, such
      that sub-commands do not group with their parents.
      46d9ba4c
    • Zachary T Welch's avatar
      eliminate duplicate helptext management · a1a3ee57
      Zachary T Welch authored
      Add helpers to manage adding entries to the helptext list.
      Adds support for arbitrarily nested commands.
      a1a3ee57
    • Zachary T Welch's avatar
      add command_name helper · 2d3cc1ea
      Zachary T Welch authored
      The command_name function returns a malloced string for a given
      command and its parents.  This can be used to display a message
      to the user, but it is used internally to handle registration
      and syntax errors.  This helps permit arbitrary command nesting.
      2d3cc1ea
    • Zachary T Welch's avatar
      wrap help command · f93c9808
      Zachary T Welch authored
      Use continuation characters to wrap the help command into 80 columns.
      f93c9808
    • Zachary T Welch's avatar
      remove obsolete doxygen comments · 2821115a
      Zachary T Welch authored
      Documenting command handler parameters is redundant and pointless.
      2821115a
    • Zachary T Welch's avatar
      remove more useless declarations · 39ab1c1a
      Zachary T Welch authored
      Removes forward declarations by moving command registration after
      defintion of the command handlers.
      39ab1c1a
    • Zachary T Welch's avatar
      e9974316
    • Zachary T Welch's avatar
      add const keyword to some APIs · ca594adb
      Zachary T Welch authored
      Add 'const' keyword to 'char *' parameters to allow command handlers to
      pass constant string arguments.  These changes allow the 'args' command
      handler to be changed to 'const' in a subsequent patch.
      ca594adb
    • Zachary T Welch's avatar
      change argv to args in command handlers · 9741e126
      Zachary T Welch authored
      Subsequent patches expect all command handlers to use a uniform
      parameter naming scheme.  In the entire tree, these two files used
      standard 'argv' instead of our non-standard 'args'.  This patch opts
      to reduces the noise required to unify the command handlers, using
      dominant 'args' form.
      
      A future patch may be used to convert us back to the standard argv, but
      that requires coordination with all developers to minimize disruptions.
      9741e126
    • Zachary T Welch's avatar
      script_debug(): improve types · e09d8938
      Zachary T Welch authored
      Use unsigned type for number of arguments.
      e09d8938
    • Zachary T Welch's avatar
      command.c: make private routines static · c9429693
      Zachary T Welch authored
      This patch also improves the signature of run_command function.
      c9429693
    • Zachary T Welch's avatar
      log: improve log_callback_fn signature · 6a2e83c0
      Zachary T Welch authored
      Use unsigned type for line number in log_callback_fn signature.
      6a2e83c0
    • Zachary T Welch's avatar
      time_support: improve use of types · 0cd414c7
      Zachary T Welch authored
      Update timeval_add_time to use long int; implement timeval_add with it.
      Update timeval_ms to check gettimeofday return value, return int64_t.
      0cd414c7
    • Zachary T Welch's avatar
      makefiles: improve build order · b7b4efcd
      Zachary T Welch authored
      Separates various groups of files to be built in logical succession.
      In each layer, the core module (target.c, nand.c, etc.) is built _after_
      their helper modules (e.g. image.c, nand_ecc.c) but _before_ any of
      their drivers (e.g. arm966e.c, mx3_nand.c).
      
      This allows problems introduced at the bottom of the stack to result
      in build failures as soon as possible, as the helpers and core should
      wrap portions of them.
      b7b4efcd
    • David Brownell's avatar
      ETM cleanup · d796ce0e
      David Brownell authored
      
      
      Various cleanups of ETM related code.
      
       - Saner error return paths
       - Simplify arm7_9 init ... no need for extra zeroing!
       - Shrink some lines
       - Tweak some diagnostics
       - Use shorter name for ETM struct type.
       - Don't exit()
      
      and similar.  The diagnostics look forward to having
      this ETM code work with more than just ARM7/ARM9.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      d796ce0e
    • Zachary T Welch's avatar
      fix bug in ARM720: bugfix · 583a293a
      Zachary T Welch authored
      583a293a
    • David Brownell's avatar
      ARM720: bugfix · d570e4f6
      David Brownell authored
      
      
      The "ARM720 uses the new inheritance/nesting scheme" patch
      wrongly scrubbed a calloc() from arm720t_target_create().
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      d570e4f6
  3. 10 Nov, 2009 16 commits