)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1001982,"name":"Ian Thompson","email":"ianst@cadence.com","username":"ianstcdns"},"change_message_id":"dd515c7e60124c3f346b0d50be706c64ba762c7a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9df3dc14_488b5e51","updated":"2022-08-29 17:25:51.000000000","message":"Split from review https://review.openocd.org/c/openocd/+/7144","commit_id":"7ea1b197112d0d5605f59243c349ac6bb96aacc1"},{"author":{"_account_id":1001982,"name":"Ian Thompson","email":"ianst@cadence.com","username":"ianstcdns"},"change_message_id":"50971275762e1c1bfe1167b6b6baccb64d4be0e0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"182d82a6_33684081","updated":"2022-09-06 20:25:14.000000000","message":"Thanks for pinpointing the issue, Antonio.  Fixed and retested on DAP/SWD, DAP/JTAG, and straight-JTAG configurations.  No new clang analyzer warnings.","commit_id":"7ea1b197112d0d5605f59243c349ac6bb96aacc1"}],"src/target/xtensa/xtensa.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"7e94247caba5f841f199a76c37ecb803220a3b12","unresolved":true,"context_lines":[{"line_number":1649,"context_line":"\tint retval \u003d xtensa_do_step(target, current, address, handle_breakpoints);"},{"line_number":1650,"context_line":"\tif (retval !\u003d ERROR_OK)"},{"line_number":1651,"context_line":"\t\treturn retval;"},{"line_number":1652,"context_line":"\ttarget_call_event_callbacks(target, TARGET_EVENT_HALTED);"},{"line_number":1653,"context_line":"\treturn retval;"},{"line_number":1654,"context_line":"}"},{"line_number":1655,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":1,"id":"894fc254_3a9f73c3","line":1652,"updated":"2022-09-05 15:41:28.000000000","message":"Analyzing xtensa_do_step(), looks like a bug there!\nIn cortex_m_step() we have:\n target_call_event_callbacks(target, TARGET_EVENT_RESUMED);\n ...\n target_call_event_callbacks(target, TARGET_EVENT_HALTED);\n\nthat are missing in xtensa_do_step(), if I read it correctly.\nIn cortex_a_step() it\u0027s a little more complex because we call cortex_a_resume() that triggers TARGET_EVENT_RESUMED, and then cortex_a_poll() that triggers TARGET_EVENT_HALTED, but the principle is the same.","commit_id":"7ea1b197112d0d5605f59243c349ac6bb96aacc1"},{"author":{"_account_id":1001982,"name":"Ian Thompson","email":"ianst@cadence.com","username":"ianstcdns"},"change_message_id":"50971275762e1c1bfe1167b6b6baccb64d4be0e0","unresolved":false,"context_lines":[{"line_number":1649,"context_line":"\tint retval \u003d xtensa_do_step(target, current, address, handle_breakpoints);"},{"line_number":1650,"context_line":"\tif (retval !\u003d ERROR_OK)"},{"line_number":1651,"context_line":"\t\treturn retval;"},{"line_number":1652,"context_line":"\ttarget_call_event_callbacks(target, TARGET_EVENT_HALTED);"},{"line_number":1653,"context_line":"\treturn retval;"},{"line_number":1654,"context_line":"}"},{"line_number":1655,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":1,"id":"160518bf_d95a294f","line":1652,"in_reply_to":"894fc254_3a9f73c3","updated":"2022-09-06 20:25:14.000000000","message":"Ah, yes!  Thanks for seeing that.  I\u0027ve added in the missing HALTED callback and confirmed DAP, JTAG functionality.","commit_id":"7ea1b197112d0d5605f59243c349ac6bb96aacc1"}]}
