openocd/src/target
Antonio Borneo 6ea43726a8 cortex_m: set C_DEBUGEN in soft_reset_halt
The command "soft_reset_halt" is deprecated since mid 2013 with
the commit 146dfe3295 ("cortex_m: deprecate soft_reset_halt").
Nevertheless it is still extremely useful with multicore chips
where it allows to reset only one of the cores, option not
available through asserting the chip-wide srst.
Without a better replacement of the command, it's worth fixing it.

Accordingly to ARM DDI 0403E.d, chapter C1.4.1 "Entering Debug
state on leaving reset state", to halt the core at reset both bits
DHCSR.C_DEBUGEN and DEMCR.VC_CORERESET must be set.
Current code only sets the latter bit, relying on having C_DEBUGEN
already set through other commands, e.g. "halt". This prevents the
command "soft_reset_halt" to work if issued as very first command.

Set the bit C_DEBUGEN in command "soft_reset_halt".

Change-Id: I66bfd6a0da1fca5049dea037b4d258cf6f842966
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/4987
Tested-by: jenkins
Reviewed-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
2019-06-20 19:51:01 +01:00
..
openrisc helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
riscv helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
aarch64.c target/aarch64: remove dependency from jtag queue 2019-06-14 12:10:40 +01:00
aarch64.h aarch64: add 'maskisr' command 2018-01-16 09:05:41 +00:00
adi_v5_jtag.c arm_adi_v5: rewrite dap_to_jtag and dap_to_swd 2019-01-30 14:29:10 +00:00
adi_v5_swd.c target/adi_v5_swd: add "usage" field to command "swd" 2019-04-07 08:19:15 +01:00
algorithm.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
algorithm.h target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
arm_adi_v5.c target/arm_adiv5: Add type for AHB5-AP 2019-06-19 09:51:54 +01:00
arm_adi_v5.h target/arm_adiv5: Add type for AHB5-AP 2019-06-19 09:51:54 +01:00
arm_cti.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
arm_cti.h armv8: valgrind memleak fixes 2018-04-10 09:13:02 +01:00
arm_dap.c arm_adi_v5: Split CSW bits into AHB/APB/AXI 2019-05-25 21:50:30 +01:00
arm_disassembler.c target/arm: Add PLD command to ARM disassembler. 2018-06-22 07:42:27 +01:00
arm_disassembler.h target: arm: disassembler: decode v6T2 ARM ISB instruction 2018-01-13 08:36:29 +00:00
arm_dpm.c target/cortex_a: remove duplicate code to read target registers 2018-11-06 12:42:24 +00:00
arm_dpm.h target/cortex_a: remove duplicate code to read target registers 2018-11-06 12:42:24 +00:00
arm_jtag.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
arm_jtag.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
arm_opcodes.h arm_opcode: fix encoding of ARMv5 breakpoint instruction 2019-01-23 15:26:39 +00:00
arm_semihosting.c target/arm_semihosting: Use 'bool' data type 2019-03-06 16:16:29 +00:00
arm_semihosting.h Rework/update ARM semihosting 2018-06-04 09:16:08 +01:00
arm_simulator.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
arm_simulator.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
arm.h target/aarch64: add support for multi-architecture gdb 2019-01-08 10:00:09 +00:00
arm7_9_common.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
arm7_9_common.h target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
arm7tdmi.c target/arm: add support for multi-architecture gdb 2019-01-08 09:59:42 +00:00
arm7tdmi.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
arm9tdmi.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
arm9tdmi.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
arm11_dbgtap.c Fix usage of timeval_ms() 2016-07-19 10:45:16 +01:00
arm11_dbgtap.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
arm11.c target/arm11: Use 'bool' data type 2019-03-06 16:10:33 +00:00
arm11.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
arm720t.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
arm720t.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
arm920t.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
arm920t.h target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
arm926ejs.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
arm926ejs.h target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
arm946e.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
arm946e.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
arm966e.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
arm966e.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
armv4_5_cache.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
armv4_5_cache.h target/armv4_5_cache: change prototype of armv4_5_handle_cache_info_command() 2019-05-14 19:35:41 +01:00
armv4_5_mmu.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
armv4_5_mmu.h target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
armv4_5.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
armv4_5.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
armv7a_cache_l2x.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
armv7a_cache_l2x.h target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
armv7a_cache.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
armv7a_cache.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
armv7a_mmu.c armv7a_mmu: Add support for decoding Super Sections 2019-06-12 15:14:50 +01:00
armv7a_mmu.h armv7a_mmu: Do not restrict virtual addresses to uint32_t 2019-06-12 15:14:44 +01:00
armv7a.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
armv7a.h target/armv7a: change prototype of armv7a_handle_cache_info_command() 2019-05-14 19:35:47 +01:00
armv7m_trace.c Use enum for target_register_timer_callback() 2019-03-01 08:32:03 +00:00
armv7m_trace.h target/armv7m_trace: Use prefix for enums 2018-07-19 10:49:24 +01:00
armv7m.c target/armv7m: fix register number in armv7m_get_core_reg() 2019-06-10 20:35:39 +01:00
armv7m.h target, flash: prepare infrastructure for multi-block blank check 2018-04-10 06:16:40 +01:00
armv8_cache.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
armv8_cache.h aarch64: add cache handling functions 2017-02-10 14:01:39 +01:00
armv8_dpm.c armv8: allow halt on exception 2019-03-04 11:53:00 +00:00
armv8_dpm.h aarch64: fix debug entry from EL0 2018-03-16 08:58:06 +00:00
armv8_opcodes.c target aarch64: rework memory read/write to use 8/16/32 bit operations 2018-01-04 09:09:46 +00:00
armv8_opcodes.h Support AArch64 SIMD/FP registers read/write 2018-03-10 13:23:48 +00:00
armv8.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
armv8.h target/armv8: change prototype of display_cache_info() 2019-05-14 19:35:25 +01:00
avr32_ap7k.c target/avr32_ap7k: Use 'bool' data type 2019-03-06 16:14:36 +00:00
avr32_ap7k.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
avr32_jtag.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
avr32_jtag.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
avr32_mem.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
avr32_mem.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
avr32_regs.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
avr32_regs.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
avrt.c target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
avrt.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
breakpoints.c target/breakpoints: make internal functions static 2019-03-12 06:43:49 +00:00
breakpoints.h target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
cortex_a.c target/cortex_a: remove dependency from jtag queue 2019-06-14 12:10:56 +01:00
cortex_a.h target/cortex_a: remove unused code controlled by "fast_reg_read" 2018-11-06 12:17:48 +00:00
cortex_m.c cortex_m: set C_DEBUGEN in soft_reset_halt 2019-06-20 19:51:01 +01:00
cortex_m.h Support for debugging on ARMv8-M CPUs 2019-06-19 09:35:05 +01:00
dsp563xx_once.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
dsp563xx_once.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
dsp563xx.c target: make handle_md_output() global 2019-05-23 22:16:39 +01:00
dsp563xx.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
dsp5680xx.c target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
dsp5680xx.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
embeddedice.c target/embeddedice: Use 'bool' data type 2019-03-06 16:15:56 +00:00
embeddedice.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
esirisc_jtag.c esirisc: support eSi-Trace 2018-12-12 08:47:44 +00:00
esirisc_jtag.h esirisc: support eSi-Trace 2018-12-12 08:47:44 +00:00
esirisc_regs.h esirisc: support eSi-RISC targets 2018-10-16 11:58:24 +01:00
esirisc_trace.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
esirisc_trace.h esirisc: support eSi-Trace 2018-12-12 08:47:44 +00:00
esirisc.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
esirisc.h esirisc: support eSi-Trace 2018-12-12 08:47:44 +00:00
etb.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
etb.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
etm_dummy.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
etm_dummy.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
etm.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
etm.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
fa526.c target/arm: add support for multi-architecture gdb 2019-01-08 09:59:42 +00:00
feroceon.c target/feroceon: Use 'bool' data type 2019-03-06 16:17:24 +00:00
hla_target.c Use enum for target_register_timer_callback() 2019-03-01 08:32:03 +00:00
image.c target/image: Add support for S6 record in Motorola SREC files 2018-11-18 08:21:25 +00:00
image.h target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
lakemont.c target/lakemont: Use 'bool' data type 2019-03-06 16:19:28 +00:00
lakemont.h target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
ls1_sap.c target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
Makefile.am esirisc: support eSi-Trace 2018-12-12 08:47:44 +00:00
mem_ap.c mem_ap: fix format of logged addresses 2019-06-12 15:15:29 +01:00
mips_ejtag.c mips32, use scan32 function for reading impcode/idcode. 2017-05-08 18:05:58 +01:00
mips_ejtag.h ejtag: added missing instructions. 2018-01-13 09:46:00 +00:00
mips_m4k.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
mips_m4k.h mips32: add micromips isa handling 2017-05-08 18:04:56 +01:00
mips32_dmaacc.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
mips32_dmaacc.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
mips32_pracc.c mips32, add support for micromips in debug mode 2017-05-08 18:03:28 +01:00
mips32_pracc.h mips32: pracc: Fix indent 2019-03-23 17:43:30 +00:00
mips32.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
mips32.h target, flash: prepare infrastructure for multi-block blank check 2018-04-10 06:16:40 +01:00
nds32_aice.c target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
nds32_aice.h target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
nds32_cmd.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
nds32_cmd.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
nds32_disassembler.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
nds32_disassembler.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
nds32_edm.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
nds32_insn.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
nds32_reg.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
nds32_reg.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
nds32_tlb.c target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
nds32_tlb.h target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
nds32_v2.c target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
nds32_v2.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
nds32_v3_common.c target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
nds32_v3_common.h target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
nds32_v3.c target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
nds32_v3.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
nds32_v3m.c target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
nds32_v3m.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
nds32.c Rework/update ARM semihosting 2018-06-04 09:16:08 +01:00
nds32.h target: Add 64-bit target address support 2017-02-10 13:50:17 +01:00
oocd_trace.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
oocd_trace.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
quark_d20xx.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
quark_x10xx.c target: quark_x10xx: miscellaneous cleanups 2018-01-13 09:25:12 +00:00
register.c target/register: Use 'bool' data type 2019-03-06 16:09:44 +00:00
register.h tdesc: bitfields may carry a type 2018-03-27 09:15:27 +01:00
semihosting_common.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
semihosting_common.h Rework/update ARM semihosting 2018-06-04 09:16:08 +01:00
smp.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
smp.h smp: replace commands smp_on/smp_off with "smp [on|off]" 2019-03-27 08:55:03 +00:00
startup.tcl ftdi: use "adapter usb location" instead of ftdi_location command 2019-02-19 08:53:47 +00:00
stm8.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
stm8.h stm8 : new target 2017-12-07 07:53:13 +00:00
target_request.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
target_request.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
target_type.h gdb_server, target: Add target_address_bits() 2019-03-08 14:05:19 +00:00
target.c target: fix error on TCL command "return" in target event handler 2019-06-13 12:40:37 +01:00
target.h target: make handle_md_output() global 2019-05-23 22:16:39 +01:00
testee.c command_registration: add empty usage field to chained commands 2019-04-07 08:17:36 +01:00
trace.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
trace.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
x86_32_common.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
x86_32_common.h target: lakemon: implement assert_reset and deassert_reset 2018-01-13 09:25:34 +00:00
xscale.c fix XScale register access 2019-06-12 15:15:40 +01:00
xscale.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00