)]}'
{"id":"openocd~master~I5f48725f2daf19649734a0aeb29192c2fac04cc9","project":"openocd","branch":"master","hashtags":[],"change_id":"I5f48725f2daf19649734a0aeb29192c2fac04cc9","subject":"cortex_m: rework handling of dcb_dhcsr","status":"ABANDONED","created":"2021-05-05 16:17:10.000000000","updated":"2021-11-08 22:35:05.000000000","total_comment_count":7,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"c51c6d23cfa8f1fe439e7078869c1df9acf26a0b","_number":6207,"owner":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"all":[{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},{"date":"2021-05-05 16:39:27.000000000","_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},{"value":1,"date":"2021-05-05 17:19:36.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},{"_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":{"rejected":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"all":[{"value":-2,"date":"2021-05-05 21:16:53.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},{"value":-1,"date":"2021-05-05 19:59: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"},{"value":0,"date":"2021-05-05 16:17:10.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},{"value":0,"date":"2021-05-05 16:17:10.000000000","permitted_voting_range":{"min":-2,"max":2},"_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,"blocking":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},{"_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-05-05 16:17:10.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"},{"updated":"2021-05-05 16:17:10.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-05 16:39:27.000000000","updated_by":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"reviewer":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"state":"REVIEWER"},{"updated":"2021-05-05 17:19:36.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-05 19:59:00.000000000","updated_by":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"reviewer":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"state":"REVIEWER"}],"messages":[{"id":"8b027497eecc42d1e8f50150107b8cd2ae9437d7","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:17:10.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"9695fa23b39c790e7f962594fb306cdf718fc754","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:35:52.000000000","message":"Patch Set 1:\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"5d86f3842fdb7f5628ddc18d2254c9c03c6e1e8c","author":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"real_author":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"date":"2021-05-05 16:39:27.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"029033a1fa8cc1413a9e1a9fc83df00d4f5ba0c4","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:51:55.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"4262b6fc389ad7c60c0a5d7dbef4c9386be4ddc3","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-05 17:19:36.000000000","message":"Patch Set 1: Verified+1\n\nBuild Successful \n\nhttp://build.openocd.org/job/openocd-gerrit/14459/ : SUCCESS\n\nhttp://build.openocd.org/job/openocd-gerrit-build/13713/ : SUCCESS","accounts_in_message":[],"_revision_number":1},{"id":"750f5faddf2ff9cdd832033bac15954292c4c1e6","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 19:59:00.000000000","message":"Patch Set 1: Code-Review-1\n\nI don\u0027t like this change. It is complicated much more than necessary.\ndcb_dhcsr had the purpose of the base state for writes. There is no point in stuffing a quite different purpose, the sticky store to other bits of the same variable. Does we need to save 4 bytes of memory? Certainly not. Lot of masking, highly error prone code.\nYou all-in-one cortex_m_read_atomic_sticky_dcb_dhcsr() may complicate some future optimizations (reducing the number of atomic ops)\nAnd it lacks API for the fast register read http://openocd.zylin.com/5321","accounts_in_message":[],"_revision_number":1},{"id":"9989f97db09d3fefc1632be55267230e00e21619","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:16:53.000000000","message":"Patch Set 1: Code-Review-2\n\n\u003e I don\u0027t like this change. It is complicated much more than\n \u003e necessary.\n\nProbably yes!\n\n \u003e dcb_dhcsr had the purpose of the base state for writes. There is no\n \u003e point in stuffing a quite different purpose, the sticky store to\n \u003e other bits of the same variable. Does we need to save 4 bytes of\n \u003e memory? Certainly not. Lot of masking, highly error prone code.\n \u003e You all-in-one cortex_m_read_atomic_sticky_dcb_dhcsr() may\n \u003e complicate some future optimizations (reducing the number of atomic\n \u003e ops)\n \u003e And it lacks API for the fast register read http://openocd.zylin.com/5321\n\nThis is the key point, agree.\nI think the idea of keeping in a same container dcb_dhcsr both sticky and the other bits is still interesting. DHCSR is split in two 16-bits parts that have independent life.\nBut let\u0027s see it again after the series fast reg read series.","accounts_in_message":[],"_revision_number":1},{"id":"5b111f1cad2045788375521ea49c9c9df5a6cbc1","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 08:35:45.000000000","message":"Abandoned\n\nsee http://openocd.zylin.com/6180/","accounts_in_message":[],"_revision_number":1},{"id":"2cd77784b3d3b95cb3bda1a33e736bcb7dec299d","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 11:21:49.000000000","message":"Patch Set 1:\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"c51c6d23cfa8f1fe439e7078869c1df9acf26a0b","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:35:05.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1}],"current_revision":"effcf23bd3662950407682d11d36b950a67bba7a","revisions":{"effcf23bd3662950407682d11d36b950a67bba7a":{"kind":"REWORK","_number":1,"created":"2021-05-05 16:17:10.000000000","uploader":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"ref":"refs/changes/07/6207/1","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/07/6207/1","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/07/6207/1 \u0026\u0026 git checkout -b change-6207 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/07/6207/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/07/6207/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/07/6207/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/07/6207/1","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/07/6207/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"8b1aa7eed053b60fff2cd14eee5b67d08317c6b4","subject":"armv7m: replace flag \u0027stlink\u0027 with \u0027is_hla_target\u0027"}],"author":{"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","date":"2020-11-29 20:08:35.000000000","tz":60},"committer":{"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","date":"2021-05-05 16:06:09.000000000","tz":120},"subject":"cortex_m: rework handling of dcb_dhcsr","message":"cortex_m: rework handling of dcb_dhcsr\n\nThe register DHCSR holds two sticky bits that get cleared at every\nregister read. These sticky bits are used during target poll, so\nmust be stored till their next use.\n\nUse the field dcb_dhcsr in struct cortex_m to old the sticky bits\ntogether with latest value read from register DHCSR.\nAdd a wrapper function around the read of register DHCSR.\nAdd a function to clear the stored sticky bit after its use.\nRename cortex_m_write_debug_halt_mask() to match the name of the\ntwo function above.\nEnforce the use of the new functions in place of direct read/write\nfrom/to DHCSR.\nWhile there, remove some cast to print uint32_t values.\n\nChange-Id: I5f48725f2daf19649734a0aeb29192c2fac04cc9\nSigned-off-by: Antonio Borneo \u003cborneo.antonio@gmail.com\u003e\n"}}},"requirements":[],"submit_records":[],"submit_requirements":[]}
