)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"38bfe55b374c74ae0cc80a2e51d213447ad96ccf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7b759769_445fc118","updated":"2026-07-28 14:56:04.000000000","message":"Please also rebase the fixed patch to the current git master, I merged your\n9798: target/riscv: drop type \u0027target_list_t\u0027 | https://review.openocd.org/c/openocd/+/9798","commit_id":"ca0c54c9278ac29055a7debd2bdde931bb134dcd"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"2408dd27945c9894fe4df3fe4550ccd7049385d2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b6e6f344_36e7a29a","in_reply_to":"7b759769_445fc118","updated":"2026-07-28 19:10:53.000000000","message":"Please rebase once more - I meant you rebase both this and 9755 this depend on.\nAfter rebasing 9798 only we have a new conflict. I quickly merged 9755 to make your work easier, so rebase this to the current git master.","commit_id":"ca0c54c9278ac29055a7debd2bdde931bb134dcd"},{"author":{"_account_id":1002315,"name":"liangzhen","email":"zhen.liang@spacemit.com","username":"liangzhen"},"change_message_id":"6664f6d9ec511593f428d6ae50c2c7b2028e33eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d1ac3558_25d4a59c","in_reply_to":"b6e6f344_36e7a29a","updated":"2026-07-29 02:05:11.000000000","message":"Done","commit_id":"ca0c54c9278ac29055a7debd2bdde931bb134dcd"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"03e21555812074712899b3fb5438b681e4a009ef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"74f3ac06_34b346d1","updated":"2026-07-28 16:51:44.000000000","message":"Thank you for the patch!\n\nI have a few minor comments.","commit_id":"23c5c86315f2efe6310984fbd1f511227259568e"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"d9f1d792882cc4c76ac6bd5db491ce45ab621b72","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c5973966_f08540ea","updated":"2026-07-28 16:17:32.000000000","message":"Thanks for the really important check!","commit_id":"23c5c86315f2efe6310984fbd1f511227259568e"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"551096a1e60b10f0a333b4e238bf636923d70a8b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"b1e358e6_656ace5b","updated":"2026-08-02 10:13:23.000000000","message":"Thanks!","commit_id":"ed9bc38178d719dae97941120dc7d66cdc45da12"}],"src/target/riscv/riscv-013.c":[{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"abdc82ddbec8ab46d892a60f8c6885c35f66fc16","unresolved":true,"context_lines":[{"line_number":2102,"context_line":"\ttarget_list_t *entry;"},{"line_number":2103,"context_line":"\tlist_for_each_entry(entry, \u0026dm-\u003etarget_list, list) {"},{"line_number":2104,"context_line":"\t\tstruct target *t \u003d entry-\u003etarget;"},{"line_number":2105,"context_line":"\t\tif (target-\u003ecoreid \u003d\u003d t-\u003ecoreid) {"},{"line_number":2106,"context_line":"\t\t\tLOG_TARGET_ERROR(target, \"Hart index %d is already used by target \u0027%s\u0027 in DM list\","},{"line_number":2107,"context_line":"\t\t\t\t\ttarget-\u003ecoreid, target_name(t));"},{"line_number":2108,"context_line":"\t\t\treturn ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"256dcfb9_ff8a7f02","line":2105,"updated":"2026-07-28 14:49:33.000000000","message":"Always fails because in the current code `get_dm()` ensures the target is in the dm target list!\n\nPlease test the code before submitting!","commit_id":"ca0c54c9278ac29055a7debd2bdde931bb134dcd"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"d9f1d792882cc4c76ac6bd5db491ce45ab621b72","unresolved":false,"context_lines":[{"line_number":2102,"context_line":"\ttarget_list_t *entry;"},{"line_number":2103,"context_line":"\tlist_for_each_entry(entry, \u0026dm-\u003etarget_list, list) {"},{"line_number":2104,"context_line":"\t\tstruct target *t \u003d entry-\u003etarget;"},{"line_number":2105,"context_line":"\t\tif (target-\u003ecoreid \u003d\u003d t-\u003ecoreid) {"},{"line_number":2106,"context_line":"\t\t\tLOG_TARGET_ERROR(target, \"Hart index %d is already used by target \u0027%s\u0027 in DM list\","},{"line_number":2107,"context_line":"\t\t\t\t\ttarget-\u003ecoreid, target_name(t));"},{"line_number":2108,"context_line":"\t\t\treturn ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"4c89c20c_904bd40a","line":2105,"in_reply_to":"256dcfb9_ff8a7f02","updated":"2026-07-28 16:17:32.000000000","message":"Done","commit_id":"ca0c54c9278ac29055a7debd2bdde931bb134dcd"},{"author":{"_account_id":1002315,"name":"liangzhen","email":"zhen.liang@spacemit.com","username":"liangzhen"},"change_message_id":"b189876a82db380fce02d2a5f3200004287e811d","unresolved":false,"context_lines":[{"line_number":2102,"context_line":"\ttarget_list_t *entry;"},{"line_number":2103,"context_line":"\tlist_for_each_entry(entry, \u0026dm-\u003etarget_list, list) {"},{"line_number":2104,"context_line":"\t\tstruct target *t \u003d entry-\u003etarget;"},{"line_number":2105,"context_line":"\t\tif (target-\u003ecoreid \u003d\u003d t-\u003ecoreid) {"},{"line_number":2106,"context_line":"\t\t\tLOG_TARGET_ERROR(target, \"Hart index %d is already used by target \u0027%s\u0027 in DM list\","},{"line_number":2107,"context_line":"\t\t\t\t\ttarget-\u003ecoreid, target_name(t));"},{"line_number":2108,"context_line":"\t\t\treturn ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"135a91ef_de2307e4","line":2105,"in_reply_to":"256dcfb9_ff8a7f02","updated":"2026-07-28 16:14:02.000000000","message":"Done, and test passed!","commit_id":"ca0c54c9278ac29055a7debd2bdde931bb134dcd"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"03e21555812074712899b3fb5438b681e4a009ef","unresolved":true,"context_lines":[{"line_number":2087,"context_line":"\tif (result !\u003d ERROR_OK)"},{"line_number":2088,"context_line":"\t\treturn result;"},{"line_number":2089,"context_line":""},{"line_number":2090,"context_line":"\tdm013_info_t *dm \u003d get_dm(target);"},{"line_number":2091,"context_line":"\tstruct target_list *entry;"},{"line_number":2092,"context_line":"\tlist_for_each_entry(entry, \u0026dm-\u003etarget_list, lh) {"},{"line_number":2093,"context_line":"\t\tstruct target *t \u003d entry-\u003etarget;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"a4557e97_d368f3ec","line":2090,"updated":"2026-07-28 16:51:44.000000000","message":"In general, `get_dm()` can return `NULL` when allocation fails.\nIn this particular case it is impossible because `examine_dm()` would have returned `ERROR_FAIL`.\nI do think there needs to be an assertion added.","commit_id":"23c5c86315f2efe6310984fbd1f511227259568e"},{"author":{"_account_id":1002315,"name":"liangzhen","email":"zhen.liang@spacemit.com","username":"liangzhen"},"change_message_id":"6664f6d9ec511593f428d6ae50c2c7b2028e33eb","unresolved":false,"context_lines":[{"line_number":2087,"context_line":"\tif (result !\u003d ERROR_OK)"},{"line_number":2088,"context_line":"\t\treturn result;"},{"line_number":2089,"context_line":""},{"line_number":2090,"context_line":"\tdm013_info_t *dm \u003d get_dm(target);"},{"line_number":2091,"context_line":"\tstruct target_list *entry;"},{"line_number":2092,"context_line":"\tlist_for_each_entry(entry, \u0026dm-\u003etarget_list, lh) {"},{"line_number":2093,"context_line":"\t\tstruct target *t \u003d entry-\u003etarget;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"be791c62_b4f6330f","line":2090,"in_reply_to":"a4557e97_d368f3ec","updated":"2026-07-29 02:05:11.000000000","message":"Done","commit_id":"23c5c86315f2efe6310984fbd1f511227259568e"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"03e21555812074712899b3fb5438b681e4a009ef","unresolved":true,"context_lines":[{"line_number":2091,"context_line":"\tstruct target_list *entry;"},{"line_number":2092,"context_line":"\tlist_for_each_entry(entry, \u0026dm-\u003etarget_list, lh) {"},{"line_number":2093,"context_line":"\t\tstruct target *t \u003d entry-\u003etarget;"},{"line_number":2094,"context_line":"\t\tif (target !\u003d t \u0026\u0026 target-\u003ecoreid \u003d\u003d t-\u003ecoreid) {"},{"line_number":2095,"context_line":"\t\t\tLOG_TARGET_ERROR(target, \"Hart index %d is already use d by target \u0027%s\u0027 in DM list\","},{"line_number":2096,"context_line":"\t\t\t\t\ttarget-\u003ecoreid, target_name(t));"},{"line_number":2097,"context_line":"\t\t\treturn ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"941e617c_6838a440","line":2094,"updated":"2026-07-28 16:51:44.000000000","message":"I\u0027ve thought about it some more and there seems to be a use case we can be breaking here.\n\nImagine a target with configurable extension set (some bits in `misa` are writable).\n\nThe user can attempt to represent such target by creating two targets on the same TAP with the same `-coreid`. Both targets have `-defer-examine` set. The user controls which one is `active` by calling the appropriate `arp_examine` manually.\n\nThis can be a workaround for the issue that there are no means to update GDB\u0027s target description over GDB Remote Protocol.\n\nPerhaps we should add a config parameter to disable this check? Please let me know what you think.","commit_id":"23c5c86315f2efe6310984fbd1f511227259568e"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"17e91f78ca744c00aee92d0cd44b1a6929ac2a3e","unresolved":true,"context_lines":[{"line_number":2091,"context_line":"\tstruct target_list *entry;"},{"line_number":2092,"context_line":"\tlist_for_each_entry(entry, \u0026dm-\u003etarget_list, lh) {"},{"line_number":2093,"context_line":"\t\tstruct target *t \u003d entry-\u003etarget;"},{"line_number":2094,"context_line":"\t\tif (target !\u003d t \u0026\u0026 target-\u003ecoreid \u003d\u003d t-\u003ecoreid) {"},{"line_number":2095,"context_line":"\t\t\tLOG_TARGET_ERROR(target, \"Hart index %d is already use d by target \u0027%s\u0027 in DM list\","},{"line_number":2096,"context_line":"\t\t\t\t\ttarget-\u003ecoreid, target_name(t));"},{"line_number":2097,"context_line":"\t\t\treturn ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"bd60cb02_943d742d","line":2094,"in_reply_to":"941e617c_6838a440","updated":"2026-07-28 19:01:49.000000000","message":"I made a short test with spike and this case seems to be covered correctly - the check is not run if examine is deferred.","commit_id":"23c5c86315f2efe6310984fbd1f511227259568e"},{"author":{"_account_id":1002315,"name":"liangzhen","email":"zhen.liang@spacemit.com","username":"liangzhen"},"change_message_id":"6664f6d9ec511593f428d6ae50c2c7b2028e33eb","unresolved":false,"context_lines":[{"line_number":2091,"context_line":"\tstruct target_list *entry;"},{"line_number":2092,"context_line":"\tlist_for_each_entry(entry, \u0026dm-\u003etarget_list, lh) {"},{"line_number":2093,"context_line":"\t\tstruct target *t \u003d entry-\u003etarget;"},{"line_number":2094,"context_line":"\t\tif (target !\u003d t \u0026\u0026 target-\u003ecoreid \u003d\u003d t-\u003ecoreid) {"},{"line_number":2095,"context_line":"\t\t\tLOG_TARGET_ERROR(target, \"Hart index %d is already use d by target \u0027%s\u0027 in DM list\","},{"line_number":2096,"context_line":"\t\t\t\t\ttarget-\u003ecoreid, target_name(t));"},{"line_number":2097,"context_line":"\t\t\treturn ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"94187ca4_9adb751f","line":2094,"in_reply_to":"bd60cb02_943d742d","updated":"2026-07-29 02:05:11.000000000","message":"As Tomas said, this case seems to be covered correctly. In addition, 9225 has added a config `-detect-misa`, I\u0027m not sure if it\u0027s possible to fix more about target with configurable extension set based on it.","commit_id":"23c5c86315f2efe6310984fbd1f511227259568e"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"03e21555812074712899b3fb5438b681e4a009ef","unresolved":true,"context_lines":[{"line_number":2092,"context_line":"\tlist_for_each_entry(entry, \u0026dm-\u003etarget_list, lh) {"},{"line_number":2093,"context_line":"\t\tstruct target *t \u003d entry-\u003etarget;"},{"line_number":2094,"context_line":"\t\tif (target !\u003d t \u0026\u0026 target-\u003ecoreid \u003d\u003d t-\u003ecoreid) {"},{"line_number":2095,"context_line":"\t\t\tLOG_TARGET_ERROR(target, \"Hart index %d is already use d by target \u0027%s\u0027 in DM list\","},{"line_number":2096,"context_line":"\t\t\t\t\ttarget-\u003ecoreid, target_name(t));"},{"line_number":2097,"context_line":"\t\t\treturn ERROR_FAIL;"},{"line_number":2098,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"53082500_4a6f40b2","line":2095,"updated":"2026-07-28 16:51:44.000000000","message":"Seems like there is an extra space in between \"use\" and \"d\".","commit_id":"23c5c86315f2efe6310984fbd1f511227259568e"},{"author":{"_account_id":1002315,"name":"liangzhen","email":"zhen.liang@spacemit.com","username":"liangzhen"},"change_message_id":"6664f6d9ec511593f428d6ae50c2c7b2028e33eb","unresolved":false,"context_lines":[{"line_number":2092,"context_line":"\tlist_for_each_entry(entry, \u0026dm-\u003etarget_list, lh) {"},{"line_number":2093,"context_line":"\t\tstruct target *t \u003d entry-\u003etarget;"},{"line_number":2094,"context_line":"\t\tif (target !\u003d t \u0026\u0026 target-\u003ecoreid \u003d\u003d t-\u003ecoreid) {"},{"line_number":2095,"context_line":"\t\t\tLOG_TARGET_ERROR(target, \"Hart index %d is already use d by target \u0027%s\u0027 in DM list\","},{"line_number":2096,"context_line":"\t\t\t\t\ttarget-\u003ecoreid, target_name(t));"},{"line_number":2097,"context_line":"\t\t\treturn ERROR_FAIL;"},{"line_number":2098,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"32269fba_6e564d4c","line":2095,"in_reply_to":"53082500_4a6f40b2","updated":"2026-07-29 02:05:11.000000000","message":"Done","commit_id":"23c5c86315f2efe6310984fbd1f511227259568e"}]}
