openocd/src/target
Seth LaForge 3427cf2b7e cortex_a: fix endiannes issues on TI TMS570
The TI TMS470 and TMS570 series of processors are BE-32 processors,
despite BE-32 not being supported by ARM in the Cortex-R4 core. TI
hacked in BE-32 support, which requires odd swizzling in OpenOCD to
make memory reads and writes function correctly. In particular,
without this change, OpenOCD word reads and writes had the bytes
reversed, and halfword and byte packed reads were reading garbage.
In my testing, this change fixes these problems.

Change-Id: I21dd30f4b9003f20fcc85f674ab833407bb61f74
Signed-off-by: Seth LaForge <sethml@google.com>
Reviewed-on: http://openocd.zylin.com/2064
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2014-04-14 18:20:36 +00:00
..
openrisc mips32, dsp563xx: fix segfault on Gdb attach 2014-04-14 18:18:13 +00:00
xscale update files to correct FSF address 2013-06-05 19:52:42 +00:00
Makefile.am Add xscale debug helper sources and everything related to dist 2014-03-29 07:56:33 +00:00
adi_v5_cmsis_dap.c cmsis-dap: add initial cmsis-dap support 2014-01-09 15:20:51 +00:00
adi_v5_jtag.c Remove unnecessary (void *) 2013-10-31 20:42:47 +00:00
adi_v5_swd.c cmsis-dap: add initial cmsis-dap support 2014-01-09 15:20:51 +00:00
algorithm.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
algorithm.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm.h target: fix incorrect arm cpu monitor mode encoding 2014-04-14 18:15:57 +00:00
arm7_9_common.c target: use target_buffer_set_u32_array 2013-11-07 21:38:49 +00:00
arm7_9_common.h arm7_9: Avoid infinite loops in bulk write dispatching 2013-10-15 20:41:08 +00:00
arm7tdmi.c Retire jtag_add_dr_out 2014-01-20 13:28:26 +00:00
arm7tdmi.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm9tdmi.c arm7_9: Avoid infinite loops in bulk write dispatching 2013-10-15 20:41:08 +00:00
arm9tdmi.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm11.c target: remove unimplemented target_request_data implementations 2013-09-08 16:12:41 +00:00
arm11.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm11_dbgtap.c Don't cast return value of [cm]alloc 2014-03-30 03:53:45 +00:00
arm11_dbgtap.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm720t.c [RFC] target: Move bulk_write_memory to arm7_9 2013-09-13 19:33:28 +00:00
arm720t.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm920t.c arm920t: fix write memory operations with caches enabled 2014-01-24 12:48:43 +00:00
arm920t.h arm7_9: Avoid infinite loops in bulk write dispatching 2013-10-15 20:41:08 +00:00
arm926ejs.c arm926ejs: fix write memory operations with caches enabled 2014-02-11 13:38:39 +00:00
arm926ejs.h arm7_9: Avoid infinite loops in bulk write dispatching 2013-10-15 20:41:08 +00:00
arm946e.c Clean up many C99 integer types format specifiers 2013-10-31 20:40:03 +00:00
arm946e.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm966e.c [RFC] target: Move bulk_write_memory to arm7_9 2013-09-13 19:33:28 +00:00
arm966e.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm_adi_v5.c cortex_a: fix endiannes issues on TI TMS570 2014-04-14 18:20:36 +00:00
arm_adi_v5.h cortex_a: fix endiannes issues on TI TMS570 2014-04-14 18:20:36 +00:00
arm_disassembler.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm_disassembler.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm_dpm.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm_dpm.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm_jtag.c Retire jtag_add_dr_out 2014-01-20 13:28:26 +00:00
arm_jtag.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm_opcodes.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm_semihosting.c Remove unnecessary (void *) 2013-10-31 20:42:47 +00:00
arm_semihosting.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm_simulator.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm_simulator.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv4_5.c Add GDB remote target description support for ARM4 2014-01-23 21:39:13 +00:00
armv4_5.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv4_5_cache.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv4_5_cache.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv4_5_mmu.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv4_5_mmu.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv7a.c Remove unnecessary (void *) 2013-10-31 20:42:47 +00:00
armv7a.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv7m.c armv7m: remove magic numbers for number of core registers 2014-03-29 07:47:48 +00:00
armv7m.h armv7m: remove magic numbers for number of core registers 2014-03-29 07:47:48 +00:00
avr32_ap7k.c mips32, dsp563xx: fix segfault on Gdb attach 2014-04-14 18:18:13 +00:00
avr32_ap7k.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
avr32_jtag.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
avr32_jtag.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
avr32_mem.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
avr32_mem.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
avr32_regs.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
avr32_regs.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
avrt.c target: remove unimplemented target_request_data implementations 2013-09-08 16:12:41 +00:00
avrt.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
breakpoints.c Clean up many C99 integer types format specifiers 2013-10-31 20:40:03 +00:00
breakpoints.h gdb server: new feature, add stop reason in stop reply packet for gdb 2013-08-07 21:01:08 +00:00
cortex_a.c target/cortex_a: check gdb_service before dereferencing in update_halt_gdb 2014-04-14 18:12:30 +00:00
cortex_a.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
cortex_m.c cortexm: use Cortex-M rather than cortex-m3 for dwt registers 2014-01-19 19:24:34 +00:00
cortex_m.h cortex_m: target implementation renames cortex_m3 to cortex_m 2013-10-10 20:51:03 +00:00
dsp563xx.c mips32, dsp563xx: fix segfault on Gdb attach 2014-04-14 18:18:13 +00:00
dsp563xx.h dsp563xx: Adding breakpoint/watchpoint support. 2013-07-15 10:05:15 +00:00
dsp563xx_once.c dsp563xx: Adding breakpoint/watchpoint support. 2013-07-15 10:05:15 +00:00
dsp563xx_once.h dsp563xx: Adding breakpoint/watchpoint support. 2013-07-15 10:05:15 +00:00
dsp5680xx.c flash: Constify write buffer 2014-03-17 12:47:18 +00:00
dsp5680xx.h flash: Constify write buffer 2014-03-17 12:47:18 +00:00
embeddedice.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
embeddedice.h Retire jtag_add_dr_out 2014-01-20 13:28:26 +00:00
etb.c target: fix typos 2014-01-19 19:26:12 +00:00
etb.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
etm.c target: fix typos 2014-01-19 19:26:12 +00:00
etm.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
etm_dummy.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
etm_dummy.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
fa526.c arm7_9: Avoid infinite loops in bulk write dispatching 2013-10-15 20:41:08 +00:00
feroceon.c target: use target_buffer_set_u32_array 2013-11-07 21:38:49 +00:00
hla_target.c hla: Make consistent parameter naming 2013-11-07 22:19:50 +00:00
image.c Constify received GDB packet 2014-03-04 20:17:34 +00:00
image.h Constify received GDB packet 2014-03-04 20:17:34 +00:00
lakemont.c mips32, dsp563xx: fix segfault on Gdb attach 2014-04-14 18:18:13 +00:00
lakemont.h quark_x10xx: add new target quark_x10xx 2014-02-11 13:07:29 +00:00
mips32.c mips32, dsp563xx: fix segfault on Gdb attach 2014-04-14 18:18:13 +00:00
mips32.h gdb_server: support gdb target description 2013-08-07 21:00:40 +00:00
mips32_dmaacc.c Clean up const usage to avoid excessive casting 2013-10-31 20:42:34 +00:00
mips32_dmaacc.h Clean up const usage to avoid excessive casting 2013-10-31 20:42:34 +00:00
mips32_pracc.c Clean up const usage to avoid excessive casting 2013-10-31 20:42:34 +00:00
mips32_pracc.h Clean up const usage to avoid excessive casting 2013-10-31 20:42:34 +00:00
mips_ejtag.c mips_ejtag.c: disable DMA for all platforms 2014-03-29 06:51:50 +00:00
mips_ejtag.h mips: add breakpoint support for EJTAG 2.0 2013-07-17 14:33:34 +00:00
mips_m4k.c Clean up const usage to avoid excessive casting 2013-10-31 20:42:34 +00:00
mips_m4k.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
nds32.c Don't cast return value of [cm]alloc 2014-03-30 03:53:45 +00:00
nds32.h nds32: Remove unused declaration 2013-10-15 20:41:27 +00:00
nds32_aice.c nds32: support multi-target debugging 2013-09-13 19:37:58 +00:00
nds32_aice.h nds32: support multi-target debugging 2013-09-13 19:37:58 +00:00
nds32_cmd.c target: remove memory leaks 2014-03-29 08:04:55 +00:00
nds32_cmd.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_disassembler.c target/nds32_disassembler: fix format specifiers warnings 2014-02-04 21:18:27 +00:00
nds32_disassembler.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_edm.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_insn.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_reg.c Clean up many C99 integer types format specifiers 2013-10-31 20:40:03 +00:00
nds32_reg.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_tlb.c nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_tlb.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_v2.c Conform to C99 integer types format specifiers 2014-01-15 12:40:42 +00:00
nds32_v2.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_v3.c Conform to C99 integer types format specifiers 2014-01-15 12:40:42 +00:00
nds32_v3.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_v3_common.c Conform to C99 integer types format specifiers 2014-01-15 12:40:42 +00:00
nds32_v3_common.h nds32: remove .soft_reset_halt dependency 2013-09-13 19:38:09 +00:00
nds32_v3m.c Conform to C99 integer types format specifiers 2014-01-15 12:40:42 +00:00
nds32_v3m.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
oocd_trace.c oocd_trace: fix warnings 2013-07-15 09:54:44 +00:00
oocd_trace.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
quark_x10xx.c quark_x10xx: add new target quark_x10xx 2014-02-11 13:07:29 +00:00
register.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
register.h gdb: add default description reg types 2013-09-21 20:08:16 +00:00
smp.c Constify received GDB packet 2014-03-04 20:17:34 +00:00
smp.h Constify received GDB packet 2014-03-04 20:17:34 +00:00
startup.tcl tcl: introduce init_target_events and use it for gdb flashing events 2014-03-29 08:40:03 +00:00
target.c Don't cast return value of [cm]alloc 2014-03-30 03:53:45 +00:00
target.h flash: Constify write buffer 2014-03-17 12:47:18 +00:00
target_request.c target: check target supports target_request_data 2013-09-08 16:12:27 +00:00
target_request.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
target_type.h target: add profiling interface 2013-09-13 19:37:07 +00:00
testee.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
trace.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
trace.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
x86_32_common.c quark_x10xx: add new target quark_x10xx 2014-02-11 13:07:29 +00:00
x86_32_common.h quark_x10xx: add new target quark_x10xx 2014-02-11 13:07:29 +00:00
xscale.c target: remove memory leaks 2014-03-29 08:04:55 +00:00
xscale.h target: xscale more human vector catching 2013-07-01 08:44:59 +00:00