summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* XSVF: use svf_add_statemove()David Brownell2009-10-205-66/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | XSVF improvements: - Layer parts of XSVF directly over SVF, calling svf_add_statemove() instead of expecting jtag_add_statemove() to conform to the SVF/XSVF requirements (which it doesn't). This should improve XSTATE handling a lot; it removes most users of jtag_add_statemove(), and the comments about how it should really do what svf_add_statemove() does. - Update XSTATE logic to be a closer match to the XSVF spec. The main open issue here is (still) that this implementation doesn't know how to build and submit paths from single-state transitions ... but now it will report that error case. - Update the User's Guide to mention the two utility scripts for working with XSVF, and to mention the five extension opcodes. Handling of state transition paths is, overall, still a mess. I think they should all be specified as paths not unlike SVF uses, and compiled to the bitstrings later ... so that we can actually make sense of the paths. (And see the extra clocks, detours through RUN, etc.) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Removed unused interface_jtag_set_end_state and wrote down some notes on ↵Øyvind Harboe2009-10-203-13/+0
| | | | TCP/IP client/server scheme.
* Added the faux flash driver and target. Used for testing.Øyvind Harboe2009-10-204-1/+157
|
* Added 'unlock' option to flash write_imageØyvind Harboe2009-10-201-14/+59
|
* More svn to git version string fixes.Øyvind Harboe2009-10-201-1/+5
|
* SVF: better spec conformance for STATE switchDavid Brownell2009-10-191-15/+13
| | | | | | | | | | | | | | | Don't add extra TCK in current state; exit from RESET had four extras. Only IDLE --> IDLE needs such an extra clock. (At least one TCK must be issued.) Allow entry to RESET; SVF allows it, so must we (despite those entries being commented out of the statemove table). When entering RESET, always use TLR ... we might end up with extra clocks in reset that way, which is harmless, but we'll never end up in any other state than RESET, which is useful paranoia. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* jtag_add_statemove() always uses TLR to get to RESETDavid Brownell2009-10-191-5/+7
| | | | | | | As decided a while back, this isn't a transition we want to chance. Whenever someone wants to got to RESET, force it. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* SVF/XSVF: comment and whitespace fixesDavid Brownell2009-10-192-59/+72
| | | | | | | | SVF: comment the predefined/default paths; make them static const SVF, XSVF: whitespace fixes, mostly so copyrights display sanely Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Improve Makefile rules for XScale debug handler; fixes 'make distcheck'.Zachary T Welch2009-10-191-5/+8
|
* MinGW: use WinSock2Redirect 'Slash' NIL2009-10-191-1/+1
| | | | | | | | | | | | | After reading a bit further, it appears that ws2_32 (Windows Sockets 2) is included in all versions of Windows and backwards compatible with wsock32, at least according to http://msdn.microsoft.com/en-us/library/ms740673%28VS.85%29.aspx. Only Win95 seems to require a manual installation; is not a big deal. So I think we can drop this whole business of detecting 64 bit MinGW and just use -lws2_32 for all MinGW platforms.
* fix single step of bx instruction going into Thumb modeNicolas Pitre2009-10-191-1/+1
| | | | | | | | Without this fix, the following code cannot be single stepped: add ip, pc, #1 bx ip [thumb code here]
* corrective fix for MinGW GNU C99 printf complianceRedirect 'Slash' NIL2009-10-192-6/+8
| | | | | | | | | | | | | | Compilation on cygwin, using gcc v3 with option -mno-cygwin, currently produces a large number of the following warnings: warning: `gnu_printf' is an unrecognized format function type These have been introduced with the recent MinGW GNU C99 printf compliance patch, as gnu_printf was only introduced with gcc v4.4 and is not recognized with earlier versions. The attached fix adds gcc version detection to the previous patch to avoid the problem.
* Sync with official Jim Tcl repository.oyvind2009-10-193-4/+6
|
* Switch from svn to git version string handling.oyvind2009-10-191-7/+4
|
* safer conversion to HANDLER on MinGW-W64Redirect 'Slash' NIL2009-10-171-2/+2
| | | | | Assign to "intptr_t", which on some versions of MS-Windows will widen the variable; then cast to HANDLE.
* More MinGW C99 printf complianceRedirect 'Slash' NIL2009-10-173-6/+23
| | | | | | | | Passing "--std=gun99" is unfortunately not sufficient to make current MinGW compilers conform with respect to checking printf format strings. (The C runtime seems not to have problems.) Fix by using a "gnu_printf" format specifier not "printf".
* jim-eventloop for MinGW-w64Redirect \"Slash\" NIL2009-10-172-2/+2
| | | | | | | | Use JIM_WIDE_MODIFIER for the sscanf format, and apply it for MINGW32 as well as other Windows environments. (Microsoft doesn't conform to the C99 standard, and uses "%I64d" not "%lld" for "long long".) NB: __MINGW32__ should work on both w32 and w64,.
* build tweak for bin2charDavid Brownell2009-10-171-3/+4
| | | | | | Work better when building outside the source tree. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* xscale: better fix for debug_handler.binDavid Brownell2009-10-165-29/+27
| | | | | | | | | | | | | Generate a C struct with the data, and use that, instead of an assembly language file. The assembly language causes issues on Darwin and MS-Windows, which don't necessarily use GNU AS; or if they do, don't necessarily use its ELF syntax. It's also better in two other ways: fewer global symbols; and the init-time size check gets optimized away at compile time. (Unless it fails, in which case bigger chunks of the file vanish.) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* another portability updateDavid Brownell2009-10-141-4/+4
| | | | | | Just use "%p" instead of consing up some integral type for pointer printf. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* portability updatesDavid Brownell2009-10-144-11/+12
| | | | | | | | | Based on some patches from <redirect.slash.nil@gmail.com> for preliminary Win64 compilation. More such updates are needed, but they need work. Compile tested on 64 and 32 bit Linuxes, and Cygwin. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* doc updates to match "help" betterDavid Brownell2009-10-141-52/+5
| | | | | | | | | | | | | | | | | | | This makes the documentation a closer match to "help" output: - "pathmove" somehow was not documented in the User's Guide - "jtag_nsrst_assert_width" and "jtag_ntrst_assert_width" are new; both needed descriptions. - Removed two undocumented and fairly useless script mechanisms: * production/production_info/production_test ... using it, requires replacing everything; so having it adds no value. * cpu ... way out of date; hopeless to keep that current Note that anyone using that "production" stuff already defines their own procedures, and can keep using them with no change. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* S29WS-N CFI query fix is to try 0x555 if 0x55 fails.Øyvind Harboe2009-10-141-24/+53
|
* Work in progress on arm11 reset. Assert srst.Øyvind Harboe2009-10-141-6/+50
|
* Fix problems building xscale_debug.SDavid Brownell2009-10-141-0/+6
|
* fix detection of PLD instructionsLennert Buytenhek2009-10-131-1/+1
| | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* fix pass_condition() LE condition code checkLennert Buytenhek2009-10-131-3/+3
| | | | | | | | The LE check is obviously buggy (as easily triggered during some testing), but I didn't audit the rest of the cases. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* cosmetic cleanup in TMS tablesDavid Brownell2009-10-131-11/+17
| | | | | | | Cleanup comments and layout/whitespace in the TMS tables. Table contents stayed the same (ignoring whitespace). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Cleanup: nuke trailling whitespacesYauheni Kaliuta2009-10-134-15/+15
| | | | Signed-off-by: Yauheni Kaliuta <y.kaliuta@gmail.com>
* Do not replace virt2phys with the default one if it was assignedYauheni Kaliuta2009-10-131-1/+0
| | | | Signed-off-by: Yauheni Kaliuta <y.kaliuta@gmail.com>
* Retired gdb_attach. gdb-detach event covers this functionality.Øyvind Harboe2009-10-131-66/+3
|
* Missing type for eCos.Øyvind Harboe2009-10-131-0/+1
|
* Fix warning.Øyvind Harboe2009-10-131-1/+1
|
* Delete commented out code. Add a bit of error checking.Øyvind Harboe2009-10-132-45/+20
|
* Propagate error from assert, deassert and halt on tcl target object.Øyvind Harboe2009-10-131-5/+9
|
* xscale: stackframe corruption bugfixDavid Brownell2009-10-131-36/+18
| | | | | | | | | | | Resolve a "FIX" comment; yes that was superfluous given that the JTAG core does that check by default. It was also buggy since it wrote to a stack frame that went away before the write happened!! Other fixes: remove pointless malloc(); zero-init scan_field_t values wherever they appear; whitespace scrub; spelling fix. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* More error propagation fixes.Øyvind Harboe2009-10-122-5/+8
|
* arm11 burst writes are now only enabled for writes larger than 1 word. ↵Øyvind Harboe2009-10-121-2/+11
| | | | Single word writes are frequently used from reset init scripts to non-memory peripherals.
* Retire arm11 no_increment. Intended for future expansion to read/write to ↵Øyvind Harboe2009-10-121-8/+22
| | | | ports. New arm11 commands would have to be added to exploit it.
* Propagate wDTR/rDTR failure immediately, otherwise it's followed up by ↵Øyvind Harboe2009-10-121-0/+1
| | | | timeout errors.
* Fix warning and improve error message upon burst transfer failureØyvind Harboe2009-10-121-3/+3
|
* Fix bogus 'transfer errors' with arm11 'memwrite burst enable'. A regression ↵Øyvind Harboe2009-10-121-5/+5
| | | | introduced in b8103660fa36a77158bd77379572c09913d85c00
* simplify XScale debug handler installationDavid Brownell2009-10-124-42/+58
| | | | | | | | | | | | | | | | | | | Load the XScale debug handler from the read-only data section instead of from a separate file that can get lost or garbaged. This eliminates installation and versioning issues, and also speeds up reset handling a bit. Plus some minor bits of cleanup related to loading that handler: comments about just what this handler does, and check fault codes while writing it into the mini-icache. The only behavioral changes should be cleaner failure modes after errors during handler loading, and being a bit faster. NOTE: presumes GNU assembly syntax, with ".incbin"; and ELF, because of the syntax of the ".size" directive. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* more xscale cleanup (mostly removing JTAG hooks)David Brownell2009-10-122-88/+65
| | | | | | | | | | | | | | | | Streamline/shrink some needless JTAG stuff: - Use #defines for the JTAG instructions; they can't ever change - Remove an unused (!) shadow of tap->ir_length - Stop using a copy of target->tap - Don't bother saving the variant after sanity checking ir_length Also, make target_create() work as on other targets: build the register cache later, making init_target() no longer be a NOP. Handle malloc failure; remove a comment that was obsoleted by the not-so-new target syntax. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Merge commit 'origin/master'Øyvind Harboe2009-10-127-287/+300
|\
| * xscale_load_ic cleanupDavid Brownell2009-10-111-16/+16
| | | | | | | | | | | | | | | | Remove unused and deprecated (in the arch spec) mode for loading code into the *main* icache (vs the "mini" icache). Disable some extremely noisy (and rarely useful) low-level debug messages Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
| * xscale.c cleanupDavid Brownell2009-10-111-186/+197
| | | | | | | | | | | | | | | | | | Declare almost everything as static. Move stuff to remove most forward references. Remove most forward declarations. Warn if the unimplemented register functions get called. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
| * xscale bugfix to handler loadingDavid Brownell2009-10-111-2/+2
| | | | | | | | | | | | | | | | | | Just fill out the rest of the cache line with NOPs; don't change the record of how much data we consumed. Otherwise the count of how much data is left can roll over from positive to negative ("VERY positive") and skip the loop termination of zero. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
| * xscale minor cleanupDavid Brownell2009-10-111-43/+31
| | | | | | | | | | | | | | | | | | | | | | | | Add a header comment referencing useful XScale specs. Make most data static, and the tables readonly. Scrub extra blank lines. Return fault codes from one routine. Remove a needless NOP methood. (BUGFIX) When we update R0, mark R0 as dirty/valid ... not R15/PC! Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
| * printf format warning fixesDavid Brownell2009-10-106-33/+38
| | | | | | | | | | | | Observed on a Cygwin build. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>