summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* cfi: use register_commands()Zachary T Welch2009-11-241-6/+0
|
* avrf: use register_commands()Zachary T Welch2009-11-241-8/+20
|
* at91sam7: use register_commands()Zachary T Welch2009-11-241-9/+21
|
* at91sam3: use register_commands()Zachary T Welch2009-11-241-27/+35
|
* remove register_callbacks from jtag interfaceZachary T Welch2009-11-2412-112/+33
| | | | | | | | Changes the jtag_interface->register_callbacks field to a list of commands to be registered. Changes callback to invocation of register_commands() with that command registration list. Removes all JTAG interface driver register_command callback functions, which the previous commits had converted into identical calls.
* vsllink: use register_commands()Zachary T Welch2009-11-241-20/+35
| | | | Use register_commands() with command registration array.
* jtag: use register_commands()Zachary T Welch2009-11-241-67/+119
| | | | Use register commands with command registration array.
* presto: use register_commands()Zachary T Welch2009-11-241-3/+12
| | | | Use register_commands() with command registration array.
* parport: use register_commands()Zachary T Welch2009-11-241-20/+37
| | | | Use register_commands() with a command registration array.
* jlink: use register_commands()Zachary T Welch2009-11-241-8/+18
| | | | Use register_commands() with command registration array.
* gw16012: use register_commands()Zachary T Welch2009-11-241-5/+12
| | | | Use register_commands() with command registration array.
* ft2232: use register_commands()Zachary T Welch2009-11-241-18/+41
| | | | Use register_commands() with a command registration array.
* at91rm9200: use register_commands()Zachary T Welch2009-11-241-3/+10
| | | | | | | Use register_commands() with command registration array. --- This module was broken by previous changes, but no one has complained. Are there still users for this modules?
* arm-jtag-ew: use register_commands()Zachary T Welch2009-11-241-4/+11
| | | | Uses register_commands() with command registration array.
* amt_jtagaccel: use register_commands()Zachary T Welch2009-11-241-8/+19
| | | | Use register_commands() with command_registration array.
* pld: use static registration instead of callbackZachary T Welch2009-11-243-12/+12
| | | | | Remove register_callbacks from pld_device structure, using an array of command_registration records instead.
* pld: use register_commands()Zachary T Welch2009-11-242-22/+60
| | | | Updates core PLD and virtex2 commands to use register_commands().
* {,x}svf: use register_commands()Zachary T Welch2009-11-242-10/+27
| | | | Use register_commands() for registering {,x}svf commands.
* server: use register_commandsZachary T Welch2009-11-244-45/+95
| | | | Converts server directory to use new command registration paradigm.
* log: use register_commands()Zachary T Welch2009-11-241-5/+19
| | | | | Use register_commands() for logging callbacks. Improve help and add proper usage.
* ioutil: use register_commands()Zachary T Welch2009-11-241-17/+45
| | | | Use table instead of individual calls. Add proper usage information.
* openocd: use register_commands()Zachary T Welch2009-11-241-6/+18
| | | | Use register_commands() for top-level version and init command.
* demonstrate chaining with foo commandsZachary T Welch2009-11-241-12/+7
| | | | | | Use the new command registration chaining capabilities to eliminate the foo_register_commands helper, folding its remaining command handler setup into the hello_command_handlers registration array.
* hello: use register_commands()Zachary T Welch2009-11-241-16/+36
| | | | Use new register_commands() with command registration table.
* rewrite 'unknown' command dispatching in CZachary T Welch2009-11-242-17/+65
| | | | | Rewrite the magical 'unknown' command in C as a Jim handler, allowing it to dispatch commands to any level in the tree.
* add public API for locating commandsZachary T Welch2009-11-242-0/+15
| | | | | Allow other modules to find a command, primarily for the purpose of registering and unregistering subcommands.
* refactor script_command context grabbingZachary T Welch2009-11-241-12/+16
| | | | Move command context acquisition to current_command_context() for re-use.
* add command registration chainingZachary T Welch2009-11-242-8/+37
| | | | | | | | | Adds the ability to chain registration structures. Modules can define a command with the 'chain' and 'num_chain' fields defined in their registration table, and the register_commands() function will initialize these commands. If the registration record creates a new command, then the chained commands are created under it; otherwise, they are created in the same context as the other commands (i.e. the parent argument).
* more command registration refactoringZachary T Welch2009-11-241-16/+38
| | | | | Split out the handler registration into its own function, and add a few obviously missing NULL pointer error checking.
* command: use register_commands for handlersZachary T Welch2009-11-241-17/+34
| | | | | | Use register_commands() to register low-level command handlers, adding a builtin_command_handlers declaration that is easy to understand. Splits help and usage information into their appropriate fields.
* add command usage, separate from helpZachary T Welch2009-11-242-14/+52
| | | | | | Adds the usage command, to display usage information for commands. The output for this command will remain erronenously empty until commands are updated to use these new coventions.
* add register_commands for batch registrationZachary T Welch2009-11-242-0/+36
| | | | | | The register_commands API takes multiple commands in one call, allowing modules to declare and pass a much simpler (and more explicit) array of command_registration records.
* add struct command_registrationZachary T Welch2009-11-242-23/+45
| | | | | | | | | Add a structure to encapsulate command registration information, rather than passing them all as parameters. Enables further API changes that require additional required or optional parameters. Updates the register_command API and COMMAND_REGISTER macro to use it, along with their documentation.
* use COMMAND_REGISTER macroZachary T Welch2009-11-2463-310/+286
| | | | | Replaces direct calls to register_command() with a macro, to allow its parameters to be changed and callers updated in phases.
* add COMMAND_REGISTER macroZachary T Welch2009-11-241-0/+4
| | | | | | | | Provides a migration path for the widely used register_command API, which needs to be updated to provide new functionality. This macro allows the API to change without having to update all of its callers at the same time.
* improve startup tcl scriptsZachary T Welch2009-11-244-19/+20
| | | | | Fix a couple of layering violations missed in the last round. Add missing comment headers.
* Cortex-A8: avoid DSCR readsDavid Brownell2009-11-241-48/+103
| | | | | | | | | | | | | | | | | There was a lot of needless handshaking overhead in the current Cortex-A8 DCC/ITR operations, since the status read by each step was discarded rather than letting the next step know it. This shrinks the handshaking by: (a) passing status along from previous steps, avoiding re-fetching; which enables the big win (b) relying on a useful invariant: that the DSCR_INSTR_COMP bit is set after every call to a DPM method. A "reg sp_usr" call previously took 17 flushes; now it takes just 9. This visibly speeds common operations like entry to debug state and stepping, as well as "arm reg" and so on. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Cortex-A8: hook up DPMDavid Brownell2009-11-241-323/+35
| | | | | | | | | This replaces two versions of register access functions. One was commented out, and seemed to have uncertain intent. The other was fairly new, and helped motivate the DPM framework once I observed that the ARM11 was doing the very same ops. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Cortex-A8: implement DPMDavid Brownell2009-11-244-9/+176
| | | | | | | | This implements the DPM interface for Cortex-A8 cores. It also adds a synchronization operation to the DPM framework, which is needed by the Cortex-A8 after CPSR writes. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Cortex-A8: minor cleanupDavid Brownell2009-11-242-26/+35
| | | | | | | | Make various functions static, add some comments, report vector catch as a flavor of DBG_REASON_BREAKPOINT, get rid of needless/undesirable ARMV4_5_CORE_REG_MODE, etc. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* improve alloc_vprintfAndreas Fritiofson2009-11-241-27/+16
| | | | | | | | | | | | | | The previous implementation was unnecessarily complex. Get rid of the loops, let vsnprintf() tell us directly how much storage we need and allocate that. A second pass writes the actual string. Also add a va_end() that was missing. This should be much faster for large strings and less wasteful for small ones. A quirk that has been retained is that some callers patch in a newline at the end of the returned string and depend on alloc_vprintf to allocate at least one byte extra. Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Signed-off-by: Zachary T Welch <zw@superlucidity.net>
* jlink: rewrite to use jtag_usb_openZachary T Welch2009-11-241-61/+15
| | | | Rewrite jlink_usb_open to use jtag_usb_open helper.
* jlink: remove superfluous indentationZachary T Welch2009-11-241-52/+55
| | | | | Rewrite logic to remove indentation in jlink_usb_open, in prep for further surgery.
* rlink: use jtag_usb_open helperZachary T Welch2009-11-241-82/+49
| | | | | | | Rewrite rlink_init routine to use jtag_usb_open helper. Eliminates some spurious calls to exit(). Wraps a tremendously long line of comment to fit 80 columns too.
* rlink: eliminate spurious indentationZachary T Welch2009-11-241-55/+54
| | | | Rework rlink_init to use less indentation. Best viewed with diff -w.
* vsllink: rewrite to use jtag_usb_openZachary T Welch2009-11-241-54/+30
| | | | | | Rewrite vsllink_usb_open to use jtag_usb_open helper. Eliminates spurious calls to exit().
* usbprog: use jtag_usb_openZachary T Welch2009-11-241-30/+13
| | | | Rewrite usbprob_jtag_open to use jtag_usb_open helper.
* arm-jtag-ew: use jtag_usb_openZachary T Welch2009-11-241-36/+17
| | | | Rewrite armjtagwe_usb_open to use jtag_usb_open.
* add jtag/usb_common.[ch] filesZachary T Welch2009-11-243-1/+97
| | | | | | | | Begins to consolidate code used by several USB JTAG interfaces. This first patch provides the required build system changes and a common jtag_usb_open routine, which will replace the guts for probing the busses and devices for possible VID/PID matches. The following patches convert each driver to use it.
* ARM11: remove old R0..R15/CPSR codeDavid Brownell2009-11-242-196/+74
| | | | | | | | | | | | | | | | This finishes the basic switchover to the new register code, for everything except the debug registers. (And maybe we shouldn't have a cache for *those* which works this way...) The context save/restore code now uses the new code, but it's in a slightly different sequence. That should be fine since the R0/PC/CPSR stuff is all that really matters (and if we can update those, we can update the rest). Now there's no longer a way any code can be confused about which copy of "r1" (etc) to use. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>