)]}'
{"id":"openocd~master~Ib679599f850fd219fb9418c6ff32eed7cf5740da","project":"openocd","branch":"master","attention_set":{},"removed_from_attention_set":{"1000021":{"account":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"last_update":"2021-11-09 10:16:33.000000000","reason":"Antonio Borneo replied on the change"},"1000863":{"account":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"last_update":"2021-11-18 21:08:00.000000000","reason":"Change was submitted"},"1000687":{"account":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"last_update":"2021-11-09 10:28:42.000000000","reason":"Tomas Vanek replied on the change"}},"hashtags":[],"change_id":"Ib679599f850fd219fb9418c6ff32eed7cf5740da","subject":"target/cortex_m: cumulate DHCSR sticky bits","status":"MERGED","created":"2021-04-22 19:07:55.000000000","updated":"2021-11-18 21:08:00.000000000","submitted":"2021-11-18 21:08:00.000000000","submitter":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"total_comment_count":11,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"6180","meta_rev_id":"ebee0768c6704d3f643556d7dd8c0df9090c842a","_number":6180,"owner":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},{"value":0,"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},{"value":0,"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2021-11-18 21:08:00.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000716,"name":"Christopher Head","email":"chead@zaber.com","username":"Hawk777"}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Code-Review":{"approved":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"all":[{"tag":"autogenerated:gerrit:merged","value":1,"date":"2021-11-18 21:08:00.000000000","permitted_voting_range":{"min":1,"max":2},"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},{"tag":"autogenerated:gerrit:merged","value":2,"date":"2021-11-18 21:08:00.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2021-11-18 21:08:00.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},{"value":0,"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000716,"name":"Christopher Head","email":"chead@zaber.com","username":"Hawk777"}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},{"_account_id":1000716,"name":"Christopher Head","email":"chead@zaber.com","username":"Hawk777"},{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-04-30 08:45:36.000000000","updated_by":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"reviewer":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"state":"REVIEWER"},{"updated":"2021-05-06 05:30:14.000000000","updated_by":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2021-05-06 21:42:28.000000000","updated_by":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"reviewer":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"state":"REVIEWER"},{"updated":"2021-05-07 19:53:05.000000000","updated_by":{"_account_id":1000716,"name":"Christopher Head","email":"chead@zaber.com","username":"Hawk777"},"reviewer":{"_account_id":1000716,"name":"Christopher Head","email":"chead@zaber.com","username":"Hawk777"},"state":"REVIEWER"}],"messages":[{"id":"a21f4209a4aef0aca1d91cba38b949fb8f353552","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-04-22 19:07:55.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"013daa7e03817646e8df50d181c76d275d21064d","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2021-04-22 20:12:30.000000000","message":"Patch Set 1: Verified+1\n\nBuild Successful \n\nhttp://build.openocd.org/job/openocd-gerrit/14407/ : SUCCESS\n\nhttp://build.openocd.org/job/openocd-gerrit-build/13661/ : SUCCESS","accounts_in_message":[],"_revision_number":1},{"id":"3a4770e80da5cc972a6111a4ab47e88f00e28ddb","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2021-05-05 16:12:48.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"84d804ad0b5a1764ff61465cbba4d4c57f360a6c","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2021-05-05 21:34:34.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"16b2dccb005028af57b168ebdfe4935e2979a5e3","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-05-05 21:55:36.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"752e2a4cbf53b02eda0596da340c4be075bdec3f","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2021-05-05 23:10:55.000000000","message":"Patch Set 1: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"7f899cbb961010a9a4ea6e509a2d8187d613ab6d","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-05-06 04:59:16.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"5ccfd0f50e30f5f3329ecf7aae1256b1f4b3ffe8","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-05-06 05:00:12.000000000","message":"Patch Set 2:\n\nPS2: Updated comments only.","accounts_in_message":[],"_revision_number":2},{"id":"5d9c53859fb6422d087d867773193abd19fcff6e","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2021-05-06 05:30:14.000000000","message":"Patch Set 2: Verified+1\n\nBuild Successful \n\nhttp://build.openocd.org/job/openocd-gerrit/14462/ : SUCCESS\n\nhttp://build.openocd.org/job/openocd-gerrit-build/13716/ : SUCCESS","accounts_in_message":[],"_revision_number":2},{"id":"f7e6bae89cc0e1529b01ce912cbe5d35b9aff340","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2021-05-06 21:42:28.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2},{"id":"0f7c6c8653e61229ac92ba0cff87302740ca64d8","author":{"_account_id":1000716,"name":"Christopher Head","email":"chead@zaber.com","username":"Hawk777"},"real_author":{"_account_id":1000716,"name":"Christopher Head","email":"chead@zaber.com","username":"Hawk777"},"date":"2021-05-07 18:34:51.000000000","message":"Patch Set 2: Code-Review-1\n\nInstead of adding a call to cortex_m_cumulate_dhcsr_sticky everywhere it is needed, would it be better to write a function that looks like this?\n\nstatic int cortex_m_read_dhcsr(struct cortex_m_common *cortex_m, uint32_t *dhcsr) {\n  int retval \u003d mem_ap_read_atomic_u32(cortex_m-\u003earmv7m.debug_ap, DCB_DHCSR, dhcsr);\n  if (retval \u003d\u003d ERROR_OK)\n    cortex_m-\u003edcb_dhcsr_cumulated_sticky |\u003d *dhcsr;\n  return retval;\n}\n\nThat way all the call sites would be smaller and simpler, and it would be harder to forget about the cumulated sticky variable if we need to add another DHCSR read in future. I think every call site could use this function; I don’t think there are any places where it would be wrong.\n\nSeparately, it looks like DHCSR is read in two places that were not touched by this patch:\n* src/jtag/drivers/stlink_usb.c stlink_usb_v2_get_status\n* src/jtag/drivers/ti_icdi_usb.c icdi_usb_state\n\nHowever I don’t know anything about these adapters so maybe that is fine, maybe they use different mechanisms for reporting reset and it is OK that these reads are missed at the cortex_m layer.","accounts_in_message":[],"_revision_number":2},{"id":"c56884405c1a30dbb38e3fec6d74634c0432744f","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-05-07 19:30:11.000000000","message":"Patch Set 2:\n\n(1 comment)\n\n\u003e Instead of adding a call to cortex_m_cumulate_dhcsr_sticky\n \u003e everywhere it is needed, would it be better to write a function\n \u003e that looks like this?\n\nIt would be too easy, Christopher!\n\nThere are 3 reasons which persuade me to go without an elegant function:\n- http://openocd.zylin.com/5321 needs to cumulate results of queued multiple DHCSR reads\n- I expect future optimizations (mainly in cortex_m_step()), where we may need to change atomic read to non atomic\n- see line 2094\nAlso see Antonio\u0027s http://openocd.zylin.com/6207\n\nThat\u0027s why I prefer bare bones style of programming (just here).\n\n \u003e Separately, it looks like DHCSR is read in two places that were not touched by this patch\n\nNot important now, as the cumulated S_RESET_ST is used in cortex_m_pool() only (not yet used on hla). However we should be aware of it if a similar change is ported to hla. BTW It\u0027s a surprise, register read in adapter code.","accounts_in_message":[],"_revision_number":2},{"id":"8bf5cf304fa4fd650dd57dd523462337295e801e","author":{"_account_id":1000716,"name":"Christopher Head","email":"chead@zaber.com","username":"Hawk777"},"real_author":{"_account_id":1000716,"name":"Christopher Head","email":"chead@zaber.com","username":"Hawk777"},"date":"2021-05-07 19:53:05.000000000","message":"Patch Set 2: Code-Review+1\n\nOK, I understand why we can’t use it everywhere. It still seems like there should be a better way than adding the extra function call everywhere; I’m worried it’s easy to forget when adding new reads.\n\nI don’t really understand HLA or why you can’t do an atomic read or why it doesn’t poll so I’ll just trust you on that part.\n\nIt still seems like the very common case is an atomic read with cumulation. Could we keep cortex_m_cumulate_dhcsr_sticky, add a helper for the common case of atomic read + cumulate, use that in most places, and then if there are special reasons why we can’t use the helper, then we can still call cumulate directly?\n\nI’m changing my review to +1 now because, given that we can’t change it everywhere, I’m OK leaving it as is. However I think it’s still worth thinking about adding another helper even if it can only be used in most places but not all.","accounts_in_message":[],"_revision_number":2},{"id":"57dd13b742baeb684e5cab06b8456bc7aafed57a","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-05-09 04:08:27.000000000","message":"Patch Set 2: Code-Review-1\n\nI re-checked all DHCSR reads and cortex_m_soft_reset_halt() is the only place where the operation could be non-atomic. So future optimization is unlikely.\nI\u0027ll extract some ideas from Antonio\u0027s http://openocd.zylin.com/6207 and submit them as preparatory changes and then introduce a DHCSR read function in this chg.","accounts_in_message":[],"_revision_number":2},{"id":"de3d5386120bc5213e661ede6a4d461515a88552","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-11-08 16:02:57.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"9c3695f3be441649fda17b57d75d7db25838bd2e","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2021-11-08 16:22:43.000000000","message":"Patch Set 3: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/15458/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/14676/ : SUCCESS","accounts_in_message":[],"_revision_number":3},{"id":"58e1d5a6436004ede71a734f8e2c1fc11b2b1d4b","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2021-11-08 22:00:11.000000000","message":"Patch Set 3: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"67c86fb10c84f57d40379b860e8337943f545186","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-11-09 09:07:20.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"3320ef9d43a58b3bc84a9e80d1c6702b69fe68a3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-11-09 09:08:52.000000000","message":"Patch Set 4: Published edit on patch set 3.","accounts_in_message":[],"_revision_number":4},{"id":"514f4f2b490bc37e1a5772dbac1ed738280f5d0c","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2021-11-09 09:23:13.000000000","message":"Patch Set 4: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/15471/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/14689/ : SUCCESS","accounts_in_message":[],"_revision_number":4},{"id":"e46d0fa205a9846089b8f08ae73192361b8b3c1a","author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"real_author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"date":"2021-11-09 09:44:03.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"27a493fb4c1a3c6958c94cdf011b4f8404c4d238","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-11-09 09:53:18.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"c25b743a804f1251690c2ccbc2fe087c5aa18caa","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-11-09 10:00:45.000000000","message":"Patch Set 5: Published edit on patch set 4.","accounts_in_message":[],"_revision_number":5},{"id":"65909f3cd40825861f245dcd6ad2f82d9673e94c","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2021-11-09 10:14:43.000000000","message":"Patch Set 5: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/15472/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/14690/ : SUCCESS","accounts_in_message":[],"_revision_number":5},{"id":"050a30149e0393d53fa596c65cdccd285f5f0b01","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2021-11-09 10:16:33.000000000","message":"Patch Set 5: Code-Review+1","accounts_in_message":[],"_revision_number":5},{"id":"3042f4515cc7bf5fe9e83e3d26f2cfdf871511a4","author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"real_author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"date":"2021-11-09 10:23:24.000000000","message":"Patch Set 5: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"de6fff840207007777bd1e86534a2db8b8f60816","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-11-09 10:28:42.000000000","message":"Patch Set 5:\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"8b9f311179822a504ad19ac95a11ada875b733a6","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-11-11 21:17:13.000000000","message":"Patch Set 5: Code-Review+2","accounts_in_message":[],"_revision_number":5},{"id":"ebee0768c6704d3f643556d7dd8c0df9090c842a","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-11-18 21:08:00.000000000","message":"Change has been successfully cherry-picked as 0dcf95c7171b702d70ec326f8c1a63cbc9255b6f","accounts_in_message":[],"_revision_number":6}],"current_revision":"0dcf95c7171b702d70ec326f8c1a63cbc9255b6f","revisions":{"0dcf95c7171b702d70ec326f8c1a63cbc9255b6f":{"kind":"REWORK","_number":6,"created":"2021-11-18 21:08:00.000000000","uploader":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"ref":"refs/changes/80/6180/6","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/80/6180/6","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/6 \u0026\u0026 git checkout -b change-6180 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/80/6180/6","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/6 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"111dcbeb1a54f629866449efe0c3b17ec1ab8957","subject":"target/cortex_m: use cortex_m-\u003edcb_dhcsr in cortex_m_soft_reset_halt()"}],"author":{"name":"Tomas Vanek","email":"vanekt@fbl.cz","date":"2021-04-22 08:41:50.000000000","tz":120},"committer":{"name":"Tomas Vanek","email":"vanekt@fbl.cz","date":"2021-11-18 21:08:00.000000000","tz":0},"subject":"target/cortex_m: cumulate DHCSR sticky bits","message":"target/cortex_m: cumulate DHCSR sticky bits\n\nDCB DHCSR register contains S_RETIRE_ST and S_RESET_ST bits cleared\non a read.\n\nThe change introduces a helper function cortex_m_cumulate_dhcsr_sticky().\nCall this function each time DHCSR is read to preserve S_RESET_ST state\nin the case of a reset event was detected.\n\nIntroduce cortex_m_read_dhcsr_atomic_sticky() convenience helper to\nread DHCSR, store it to cortex_m-\u003edcb_dhcsr and cumulate sticky bits.\n\nThe cumulated state of S_RESET_ST is read and cleared in cortex_m_poll()\n\nChange-Id: Ib679599f850fd219fb9418c6ff32eed7cf5740da\nSigned-off-by: Tomas Vanek \u003cvanekt@fbl.cz\u003e\nReviewed-on: https://review.openocd.org/c/openocd/+/6180\nTested-by: jenkins\nReviewed-by: Antonio Borneo \u003cborneo.antonio@gmail.com\u003e\nReviewed-by: Tarek BOCHKATI \u003ctarek.bouchkati@gmail.com\u003e\n"}},"38b2ec0f2828584375be2899ee2e658d49186327":{"kind":"REWORK","_number":5,"created":"2021-11-09 10:00:45.000000000","uploader":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"ref":"refs/changes/80/6180/5","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/80/6180/5","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/5 \u0026\u0026 git checkout -b change-6180 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/80/6180/5","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/5 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"2a2b0f4f2306929720f3e3203cc711a2005948c0","subject":"target/cortex_m: use cortex_m-\u003edcb_dhcsr in cortex_m_soft_reset_halt()"}],"author":{"name":"Tomas Vanek","email":"vanekt@fbl.cz","date":"2021-04-22 08:41:50.000000000","tz":120},"committer":{"name":"Tomas Vanek","email":"vanekt@fbl.cz","date":"2021-11-09 10:00:41.000000000","tz":0},"subject":"target/cortex_m: cumulate DHCSR sticky bits","message":"target/cortex_m: cumulate DHCSR sticky bits\n\nDCB DHCSR register contains S_RETIRE_ST and S_RESET_ST bits cleared\non a read.\n\nThe change introduces a helper function cortex_m_cumulate_dhcsr_sticky().\nCall this function each time DHCSR is read to preserve S_RESET_ST state\nin the case of a reset event was detected.\n\nIntroduce cortex_m_read_dhcsr_atomic_sticky() convenience helper to\nread DHCSR, store it to cortex_m-\u003edcb_dhcsr and cumulate sticky bits.\n\nThe cumulated state of S_RESET_ST is read and cleared in cortex_m_poll()\n\nChange-Id: Ib679599f850fd219fb9418c6ff32eed7cf5740da\nSigned-off-by: Tomas Vanek \u003cvanekt@fbl.cz\u003e\n"}},"6deb12a0f29a506817b6179f945263b1e7f27809":{"kind":"REWORK","_number":4,"created":"2021-11-09 09:08:52.000000000","uploader":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"ref":"refs/changes/80/6180/4","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/80/6180/4","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/4 \u0026\u0026 git checkout -b change-6180 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/80/6180/4","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/4 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"2a2b0f4f2306929720f3e3203cc711a2005948c0","subject":"target/cortex_m: use cortex_m-\u003edcb_dhcsr in cortex_m_soft_reset_halt()"}],"author":{"name":"Tomas Vanek","email":"vanekt@fbl.cz","date":"2021-04-22 08:41:50.000000000","tz":120},"committer":{"name":"Tomas Vanek","email":"vanekt@fbl.cz","date":"2021-11-09 09:08:40.000000000","tz":0},"subject":"target/cortex_m: cumulate DHCSR sticky bits","message":"target/cortex_m: cumulate DHCSR sticky bits\n\nDCB DHCSR register contains S_RETIRE_ST and S_RESET_ST bits cleared\non a read.\n\nThe change introduces a helper function cortex_m_cumulate_dhcsr_sticky().\nCall this function each time DHCSR is read to preserve S_RESET_ST state\nin the case of a reset event was detected.\n\nIntroduce cortex_m_read_dhcsr_atomic_sticky() convenience helper to\nread DHCSR, store it to cortex_m-\u003edcb_dhcsr and cumulate sticky bits.\n\nThe cumulated state of S_RESET_ST is read and cleared in cortex_m_poll()\n\nChange-Id: Ib679599f850fd219fb9418c6ff32eed7cf5740da\nSigned-off-by: Tomas Vanek \u003cvanekt@fbl.cz\u003e\n"}},"fc71bf0108d29c3b8bd07b3a193076a8f0f35ecf":{"kind":"REWORK","_number":3,"created":"2021-11-08 16:02:57.000000000","uploader":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"ref":"refs/changes/80/6180/3","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/80/6180/3","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/3 \u0026\u0026 git checkout -b change-6180 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/80/6180/3","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"2a2b0f4f2306929720f3e3203cc711a2005948c0","subject":"target/cortex_m: use cortex_m-\u003edcb_dhcsr in cortex_m_soft_reset_halt()"}],"author":{"name":"Tomas Vanek","email":"vanekt@fbl.cz","date":"2021-04-22 08:41:50.000000000","tz":120},"committer":{"name":"Tomas Vanek","email":"vanekt@fbl.cz","date":"2021-11-08 15:59:23.000000000","tz":60},"subject":"target/cortex_m: cumulate DHCSR sticky bits","message":"target/cortex_m: cumulate DHCSR sticky bits\n\nDCB DHCSR register contains S_RETIRE_ST and S_RESET_ST bits cleared\non a read.\n\nThe change introduces a helper function cortex_m_cumulate_dhcsr_sticky().\nCall this function each time DHCSR is read to preserve S_RESET_ST state\nin the case of a reset event was detected.\n\nIntroduce cortex_m_read_dhcsr_atomic_sticky() convenience helper to\nread DHCSR, store it to cortex_m-\u003edcb_dhcsr and cumulate sticky bits.\n\nThe cumulated state of S_RESET_ST is read and cleared in cortex_m_poll()\n\nChange-Id: Ib679599f850fd219fb9418c6ff32eed7cf5740da\nSigned-off-by: Tomas Vanek \u003cvanekt@fbl.cz\u003e\n"}},"9b8a839fc5d09c3927b71a42613989d3b0b72f4f":{"kind":"REWORK","_number":2,"created":"2021-05-06 04:59:16.000000000","uploader":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"ref":"refs/changes/80/6180/2","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/80/6180/2","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/2 \u0026\u0026 git checkout -b change-6180 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/80/6180/2","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"ddc15b4e0761b5d65bdd5b3e973b417f8c27c26a","subject":"cortex_m: add armv8m special registers"}],"author":{"name":"Tomas Vanek","email":"vanekt@fbl.cz","date":"2021-04-22 08:41:50.000000000","tz":120},"committer":{"name":"Tomas Vanek","email":"vanekt@fbl.cz","date":"2021-05-06 04:56:47.000000000","tz":120},"subject":"target/cortex_m: cumulate DHCSR sticky bits","message":"target/cortex_m: cumulate DHCSR sticky bits\n\nDCB DHCSR register contains S_RETIRE_ST and S_RESET_ST bits cleared\non a read.\n\nThe change introduces a helper function cortex_m_cumulate_dhcsr_sticky().\nCall this function each time DHCSR is read to preserve S_RESET_ST state\nin the case of a reset event was detected.\nThe cumulated state of S_RESET_ST is read and cleared in cortex_m_poll()\n\nChange-Id: Ib679599f850fd219fb9418c6ff32eed7cf5740da\nSigned-off-by: Tomas Vanek \u003cvanekt@fbl.cz\u003e\n"}},"e0abf4015f4bce67dc5ca3275d472fd6b24f00a7":{"kind":"REWORK","_number":1,"created":"2021-04-22 19:07:55.000000000","uploader":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"ref":"refs/changes/80/6180/1","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/80/6180/1","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/1 \u0026\u0026 git checkout -b change-6180 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/80/6180/1","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/80/6180/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"ddc15b4e0761b5d65bdd5b3e973b417f8c27c26a","subject":"cortex_m: add armv8m special registers"}],"author":{"name":"Tomas Vanek","email":"vanekt@fbl.cz","date":"2021-04-22 08:41:50.000000000","tz":120},"committer":{"name":"Tomas Vanek","email":"vanekt@fbl.cz","date":"2021-04-22 10:13:50.000000000","tz":120},"subject":"target/cortex_m: cumulate DHCSR sticky bits","message":"target/cortex_m: cumulate DHCSR sticky bits\n\nDCB DHCSR register contains S_RETIRE_ST and S_RESET_ST bits cleared\non a read.\n\nThe change introduces a helper function cortex_m_cumulate_dhcsr_sticky().\nCall this function each time DHCSR is read to preserve S_RESET_ST state\nin the case of a reset event was detected.\nThe cumulated state of S_RESET_ST is read and cleared in cortex_m_poll()\n\nChange-Id: Ib679599f850fd219fb9418c6ff32eed7cf5740da\nSigned-off-by: Tomas Vanek \u003cvanekt@fbl.cz\u003e\n"}}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[]}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[]}}]}
