Skip to content
Snippets Groups Projects
  1. Nov 13, 2009
    • Zachary T Welch's avatar
      s3c24xx: use COMMAND_HANDLER with command helper · 76868e07
      Zachary T Welch authored
      Add S3C24XX_DEVICE_COMMAND macros to abstract common command handler
      conventions.
      76868e07
    • Zachary T Welch's avatar
      arm_adi,armv7[am]: use COMMAND_HELPER for helpers · d02fee19
      Zachary T Welch authored
      Rewrites the dap_* command helpers to use the COMMAND_HELPER paradigm.
      Uses CALL_COMMAND_HELPER to hide inherited calling conventions.
      d02fee19
    • Zachary T Welch's avatar
      use COMMAND_HELPER for command helper functions · 63a26b42
      Zachary T Welch authored
      Define the numerous helpers that inherit command handler parameters
      using the COMMAND_HELPER macro.
      63a26b42
    • Zachary T Welch's avatar
      cfc4d5c6
    • Zachary T Welch's avatar
      add command_handler_t type · ddb6138e
      Zachary T Welch authored
      This patch adds new typedefs for command handler callback functions.
      Users of this type signature were updated to use these new types.
      It uses the new __COMMAND_HANDLER macro to prevent duplication.
      ddb6138e
    • Zachary T Welch's avatar
      add COMMAND_HANDLER and COMMAND_HELPER macros · 3f9fd4e2
      Zachary T Welch authored
      The COMMAND_HANDLER and COMMAND_HELPER macros allow commands to be
      defined in a manner that decouples them from the exact order and type of
      their parameters.  Once converted, incremental changes to the command
      handler type can be addressed in incremental patches that do not need to
      touch the entire tree.
      
      These macros' implementation, __COMMAND_HANDLER, is used to define the
      new command_handler_t type, and additional patches will use it to derive
      new macros to define extended command types (e.g. flash, nand, pld).
      The CALL_COMMAND_HANDLER provides a means of calling helpers or nested
      handlers from withing a command handler.
      
      This patch uses C99 varadic macro expansion.  Please report compilers
      that cannot handle this code.
      3f9fd4e2
    • Zachary T Welch's avatar
      add command_output_handler_t · 1ae4d93c
      Zachary T Welch authored
      Add a typedef for command output handler function type, simplifying
      the appearance of functions that use it and eliminating duplicate code.
      1ae4d93c
    • David Brownell's avatar
      Cortex-A8: fix indent · 5eb638c7
      David Brownell authored
      
      The "remove (forward) declarations" patch goofed indentation on the
      "cortexa8_target" struct; fix.
      
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      5eb638c7
    • Zachary T Welch's avatar
      nand: rename device to nand · e8e94ab2
      Zachary T Welch authored
      To be more informative (and consistent with flash and pld trees), change
      'device' parameter name to 'nand' in NAND source files.  This change
      eliminates confusing 'device->device->' instance from the code, and
      it simplifies the forthcoming command handler patches.
      e8e94ab2
    • David Brownell's avatar
      ETM: start support for ETMv2+ · d47764ff
      David Brownell authored
      
      ARM11 and newer cores include updated ETM modules.  Recognize
      their version codes and some key config differences.  Sanity
      checked on an OMAP2, with an ETM11RV r0p1 (ETMv3.1).
      
      This still handles only scan chain 6, with at most 128 registers.
      Newer cores (mostly, Cortex) will need to use the DAP instead.
      
      Note that the newer ETM modules don't quite fit the quirky config
      model of the older ones ... having more port widths is easy, but
      the modes aren't the same.  That still needs to change.
      
      Fix a curious bug ... how did the register cache NOT get saved??
      
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      d47764ff
  2. Nov 12, 2009
    • Jonas Horberg's avatar
      parport: add support for the jtag_khz command. · de735d37
      Jonas Horberg authored
      
      Add the khz and speed_div functions to the parport interface driver.
      Add the parport_toggling_time function that tells the parport driver
      how long (in nanoseconds) it takes for the hardware to toggle TCK.
      
      [dbrownell@users.sourceforge.net: tweak doc for clarity, mention
      multimeter, and whitespace fixes]
      
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      de735d37
    • 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
  3. Nov 11, 2009
    • 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
  4. Nov 10, 2009
Loading