aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2009-11-09target.h: remove extern keyword and wrapZachary T Welch1-53/+72
Removes 'extern' keyword from function prototypes and wraps long lines.
2009-11-09src/{server,pld,svf,xsvf}: remove 'extern' keywordZachary T Welch7-18/+26
Removes 'extern' keyword from function declarations in header filess.
2009-11-09src/flash: remove 'extern' and wrap headersZachary T Welch7-45/+69
Removes 'extern' keywords from function prototypes in the flash headers. Wraps long lines to fit into 80 columns. Adds multiple inclusion protection for s3c2xx_nand.h.
2009-11-09src/jtag: remove 'extern' and wrap headers.Zachary T Welch4-63/+72
Removes the 'extern' keyword from function declarations. Wraps long prototypes to fit into 80 columns. Fixes documentation for jtag_tap_s::{,has}idcode fields.
2009-11-09src/helper: wrap and clean headers.Zachary T Welch6-63/+95
Remove all useless 'extern' keywords from function prototypes. Wraps long lines for readability.
2009-11-09User's Guide: bugfix global state infoDavid Brownell1-8/+13
The "$ocd_HOSTOS" variable was wrongly documented. Fix its documentation, and its value on Linux. Shrink a few of the too-long lines. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-09EmbeddedICE: minor cleanupsDavid Brownell1-52/+101
Add comments (Doxygen and normal), remove unused code, shrink some overlong lines. Get rid of a forward decl. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-09Overhaul time support APIZachary T Welch6-215/+153
This patch changes the duration_* API in several ways. First, it updates the API to use better names. Second, string formatting has been removed from the API (with its associated malloc). Finally, a new function added to convert the time into seconds, which can be used (or formatted) by the caller. This eliminates hidden calls to malloc that require associated calls to free(). This patch also removes the useless extern keyword from prototypes, and it eliminates the duration_t typedef (use 'struct duration'). These API also allows proper error checking, as it is possible for gettimeofday to fail in certain circumstances. The consumers have all been chased to use this new API as well, as there were relatively few cases doing this type of measurement. In most cases, the code performs additional checks for errors, but the calling code looks much cleaner in every case.
2009-11-08Add private header for ARM11 internals.Zachary T Welch4-50/+74
Reduces confusion about location of associated routines and reduces clutter in the arm11 header. Removes extra whitespace around the lines touched by these changes.
2009-11-08ARM11: remove exports and forward declsZachary T Welch2-164/+138
Unneeded exports cause confusion about the module interfaces. Make almost everything static in the arm11.c module.
2009-11-08ARM: minor simulator cleanupDavid Brownell1-25/+49
Make several functions be static. Shrink some of the overlong lines. Use pure tab indents in some places that mixed in spaces. This gives a minor object code shrink (about 2% on amd64). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-08Cortex-M3: fix (debug) message priorityDavid Brownell1-1/+1
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-07Fix vsllink bulk out endpoint parsing.Zachary T Welch1-1/+1
2009-11-06Merge branch 'master' of ↵David Brownell3-535/+498
ssh://dbrownell@openocd.git.sourceforge.net/gitroot/openocd/openocd
2009-11-06target: don't swap MMU/no-MMU work areasDavid Brownell1-16/+17
Resolve serious bug inserted by the "target: require working area for physical/virtual addresses to be specified" patch. It forced use of (invalid) virtual addresses when the MMU was disabled, and vice versa. Observed to break at least Cortex-M3, ARM926, ARM7TDMI whenever work areas are used, such as during bulk writes to flash, DDR2, SRAM, and so on. Also, fix overlong lines and whitespace goofs. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-06Simplify nand indentation.Zachary T Welch1-314/+287
Removes check covered by new nand_command_get_device_by_num helper. Reverses logic of probe check to further reduce indentation.
2009-11-06Improve flash indentation.Zachary T Welch1-221/+210
Removes redundant tests and reverses backwards logic to reduce the indentation level in flash.c.
2009-11-06Fix arm11 vcr command parsing.Zachary T Welch1-0/+1
2009-11-05ARM: shrink offsetsDavid Brownell6-8/+8
Move various embedded target structs to the beginnings of their containers ... pretty much the way C++ or Obj-C would for single inheritance. This shrinks code that accesses those embedded structs by letting common offsets use smaller instructions. Sample before/after sizes (on amd64): 17181 312 0 17493 4455 arm920t.o 16810 312 0 17122 42e2 arm920t.o Where the "after" is the smaller number, with this patch over the ones leveraging that embedding knowledge. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05ARM: other code uses the new inheritance/nesting schemeDavid Brownell6-104/+78
Remove most remaining uses of target->arch_info from ARM infrastructure, where it hasn't already been updated. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05Cortex-A8: use the new inheritance/nesting schemeDavid Brownell4-125/+51
Use target_to_armv7a() etc, replacing needless pointer traversals. Stop using X->arch_info scheme in most ARMv7-A and Cortex-A8 code. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05ARM7TDMI uses the new inheritance/nesting schemeDavid Brownell2-70/+28
Use target_to_arm7_9(), replacing needless pointer traversals. Also: remove now-useless contents of arm7tdmi struct; it's almost ready to be removed. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05ARM720 uses the new inheritance/nesting schemeDavid Brownell1-80/+30
Use target_to_arm720(), replacing needless pointer traversals and simplifying a bunch of nasty code. Stop setting arch_info for arm720 type parts, it's not used any longer. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05XScale uses the new inheritance/nesting schemeDavid Brownell2-190/+118
Use target_to_xscale(), replacing needless pointer traversals and simplifying a bunch of code. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05ARM9TDMI uses the new inheritance/nesting schemeDavid Brownell2-109/+33
Replace needless pointer traversals and simplify. Also remove most remaining contents from arm9tdmi struct; it's almost removable. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05ARM966 uses the new inheritance/nesting schemeDavid Brownell1-52/+11
Use target_to_arm966(), replacing needless pointer traversals. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05ARM926 uses the new inheritance/nesting schemeDavid Brownell1-125/+46
Use target_to_arm926(), replacing needless pointer traversals and simplifying a bunch of code. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05FA526 uses the new inheritance/nesting schemeDavid Brownell1-26/+7
Replace needless pointer traversals, simplify. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05ARM920 uses the new inheritance/nesting schemeDavid Brownell2-142/+71
Use target_to_arm920(), replacing needless pointer traversals and simplifying. Stop setting arm9tdmi->arch_info for arm920 type parts, it's not used any longer. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05Cortex-M3: use the new inheritance/nesting schemeDavid Brownell4-135/+113
Use new target_to_cm3() and target_to_armv7m() inlines, instead of a series of x->arch_info conversions. Remove arch_info, since nothing uses it. Also fix an omission: the Cortex-M3 commands didn't verify that they were operating on that kind of target. Add comment about the ARMv7M version of that omission. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05target: provide container_of()David Brownell12-0/+91
Provide a cleaner way to handle single inheritance of targets in C, using the same model Linux does: structs containing other structs, un-nested via calls to a "container_of()" macro that are packaged in typesafe inline functions. Targets already use this containment idiom, but make it much more complicated because they un-nest using embedded "void *" pointers ... in chains of up to five per target, which is all pure needless complication. (Example: arm92x core, arm9tdmi, arm7_9, armv4_5 ... on top of the base "target" class.) Applying this scheme consistently simplifies things, and gets rid of many error-prone untyped pointers. It won't change any part of the type model though -- it just simplifies things. (And facilitates more cleanup later on.) Rule of thumb: where there's an X->arch_info void* pointer, access to that pointer can and should be removed. It may be convenient to set up pointers to some of the embedded structs; and shrink their current "*_common" names (annoyingly long). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05ARM7TDMI: remove forward declsDavid Brownell2-92/+88
The forward decls are just code clutter; remove them, by moving their references after definitions. This is another file which never needed even one internal forward declaration. Also shrink a few overly-long lines with function declarations or definitions; get rid of arm7tdmi_register_commands(), it's not needed (just delegated); minor whitespace declutter. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05ARM720: remove exports and forward declsDavid Brownell1-119/+95
Unneeded exports cause confusion about the module interfaces. Make all functions static. Add a short header comment. The forward decls are just code clutter; remove them, by moving their references after definitions. This is another file which never needed even one internal forward declaration. Remove unneeded indirection for the write_memory() method. Make a table static, remove a can't-happen case with nasty exit(). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05FA526: remove exports and forward declsDavid Brownell1-60/+56
Unneeded exports cause confusion about the module interfaces. Make most functions static. The forward decls are just code clutter; remove them, by moving their references after definitions. This is another file which never needed even one internal forward declaration. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05ARM9TDMI: remove forward declsDavid Brownell2-58/+69
The forward decls are just code clutter; remove them, by moving their references after definitions. This is another file which never needed even one internal forward declaration. Also shrink a few overly-long lines with function declarations or definitions. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05ARM966: remove exports and forward declsDavid Brownell2-59/+55
Unneeded exports cause confusion about the module interfaces. Make most functions static. The forward decls are just code clutter; remove them, by moving their references after definitions. This is another file which never needed even one internal forward declaration. Also remove needless arm966e_init_target(), in favor of the arm9tdmi routine to which it delegates its work. This saved over 100 bytes of code on x86_32. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05ARM926: more cleanupDavid Brownell1-37/+22
An init_target() wrapper isn't needed, and target_create() can shrink a bit. Add a header comment and some doxygen. Remove arm926ejs_catch_broken_irscan() which has been a NOP for quite a few months now, and in any case duplicates logic in the JTAG core to validate IR capture data. But force the capture mask to 0x0f, so those tests are most effective. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05ARM920: remove exports and forward declsDavid Brownell2-112/+150
Unneeded exports cause confusion about the module interfaces. Make most functions static. Add a short header comment. The forward decls are just code clutter; remove them, by moving their references after definitions. This is another file which never needed even one internal forward declaration. This saved almost 900 bytes of code on x86_32; it seems the compiler can leverage its knowledge that these functions are not called from the outside world... Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-05Improve str9xpec command argument parsing.Zachary T Welch1-80/+44
2009-11-05Improve str9x config command argument parsing.Zachary T Welch1-11/+14
2009-11-05Improve str7x config command argument parsing.Zachary T Welch1-12/+9
2009-11-05Improve stm32x.c command argument parsing.Zachary T Welch1-35/+20
2009-11-05Improve stellaris.c erase argument parsing.Zachary T Welch1-7/+4
2009-11-05Improve pic32mx.c command argument parsing.Zachary T Welch1-30/+19
2009-11-05Improve mflash.c command argument parsing.Zachary T Welch1-6/+9
2009-11-05Improve lpc3180_nand_controller.c parsing.Zachary T Welch1-10/+15
This fixes a memory leak in lpc3180_nand_device_command by reordering the malloc to occur after all parsing has completed.
2009-11-05Improve lpc2900.c command argument parsing.Zachary T Welch1-53/+36
2009-11-05Improve lpc288x.c command argument parsing.Zachary T Welch1-1/+1
2009-11-05Improve lpc2000.c command argument parsing.Zachary T Welch1-8/+5
2009-11-05Improve cfi.c command argument parsing.Zachary T Welch1-2/+6