- 13 Dec, 2009 1 commit
-
-
David Brownell authored
Don't include <helper/jim.h> from target.h ... not everything which touches targets needs to be able to talk to Jim. Plus, most files include this header by another path. Also, switch the affected files to use the classic sequence for #included files: all <framework/headers.h> first, then the "local_headers.h". This helps prevent growth of problematic layering, by minimizing entanglement. Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
- 08 Dec, 2009 2 commits
-
-
David Brownell authored
These were all basically "can't happen" cases ... like having state be corrupted by an alpha particle after the previous check for whether a value was in-range. Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
David Brownell authored
Most of these happened to be in the target.h file. Some of those are associated with symbols that could be removed at some point ... e.g. NVP_ASSERT/true and its sibling NVP_DEASSERT/false. Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
- 07 Dec, 2009 1 commit
-
-
David Brownell authored
Provide and use debug_reason_name() instead of expecting targets to call Jim_Nvp_value2name_simple(). Less dependency on Jim, and the code becomes more clear too. Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
- 03 Dec, 2009 3 commits
-
-
Zachary T Welch authored
Changes from the flat namespace to heirarchical one. Instead of writing: #include "jtag.h" the following form should be used. #include <jtag/jtag.h> The exception is from .c files in the same directory.
-
Zachary T Welch authored
Changes from the flat namespace to heirarchical one. Instead of writing: #include "time_support.h" the following form should be used. #include <helper/time_support.h> The exception is from .c files in the same directory.
-
Zachary T Welch authored
The command handler registration was put at the top level, rather than as a subcommand. Move it to where it belongs.
-
- 02 Dec, 2009 2 commits
-
-
Zachary T Welch authored
Adds 'target init' command handler, called as part of 'init'.
-
Zachary T Welch authored
Moves body of target initialization loop into a helper function, cleaning up its visual flow in the process.
-
- 01 Dec, 2009 3 commits
-
-
David Brownell authored
Switch "mrc" and "mcr" commands to be toplevel ARM operations, as they should initially have been. Correct the usage message for both commands: it matches ARM documentation (as one wants!) instead of reordering them to match the funky mrc() and mcr() method usage (sigh). For Cortex-A8: restore a line that got accidentally dropped, so the secure monitor mode shadow registers will show again. Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
Zachary T Welch authored
Adds 'interp' field to command_context, chasing the few remaining references to the global variable outside of the command module.
-
Zachary T Welch authored
Adds 'interp' to target_event_action structure to avoid using the global variable of the same name.
-
- 28 Nov, 2009 4 commits
-
-
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.
-
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.
-
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:
David Brownell <dbrownell@users.sourceforge.net>
-
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:
David Brownell <dbrownell@users.sourceforge.net>
-
- 26 Nov, 2009 2 commits
-
-
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:
David Brownell <dbrownell@users.sourceforge.net>
-
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:
David Brownell <dbrownell@users.sourceforge.net>
-
- 25 Nov, 2009 5 commits
-
-
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.
-
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.
-
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.
-
Zachary T Welch authored
-
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.
-
- 22 Nov, 2009 1 commit
-
-
Øyvind Harboe authored
4096 byte buffer allocated dynamically. Better for embedded OS's. Signed-off-by:
Øyvind Harboe <oyvind.harboe@zylin.com>
-
- 20 Nov, 2009 1 commit
-
-
David Brownell authored
Create a generic register_cache_invalidate(), and use it to replace three all-but-identical core-specific routines: - armv4_5_invalidate_core_regs() - armv7m_invalidate_core_regs - mips32_invalidate_core_regs() too. Make cache->num_regs be unsigned, avoiding various errors. Net code shrink and simplification. Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
- 18 Nov, 2009 2 commits
-
-
Zachary T Welch authored
Updates all command parsing of "on" and "off" arguments.
-
Zachary T Welch authored
The recent migration broke them, the fixes broken them in a new way, but this should restore them to working order. Eliminates the temporary variable, as the CMD_NAME macro can once again be use in routines that increment CMD_ARGV without nasty side-effects.
-
- 17 Nov, 2009 4 commits
-
-
Zachary T Welch authored
Convert all command handler 'cmd_ctx' parameter usage with CMD_CTX.
-
Zachary T Welch authored
This patch converts all instances of 'args' in COMMAND_HANDLER routines to use CMD_ARGV macro.
-
Zachary T Welch authored
This patch converts all instances of 'argc' in COMMAND_HANDLER routines to use CMD_ARGC.
-
David Brownell authored
No need to indirect from registered integers to pointers. Just stash the pointers directly in the register struct, and don't even bother registering. This is a small code shrink, speeds register access just a smidgeon, and gets rid of another rude exit() path. Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
- 16 Nov, 2009 4 commits
-
-
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.
-
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.
-
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.
-
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:
David Brownell <dbrownell@users.sourceforge.net>
-
- 15 Nov, 2009 2 commits
-
-
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:
David Brownell <dbrownell@users.sourceforge.net>
-
Krzysztof Dziuba authored
-
- 14 Nov, 2009 2 commits
-
-
Dean Glazeski authored
This fixes an issue due to the new command handler syntax caused by the mw handler playing with the args pointer before using the CMD_NAME macro. Fix is to move this call above the lines changing args.
-
Ferdinand Postema authored
Changed some printf format strings.. [dbrownell@users.sourceforge.net: shrink lines, fix indents] Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
- 13 Nov, 2009 1 commit
-
-
Zachary T Welch authored
Remove misleading typedef and redundant suffix from struct command_context.
-