)]}'
{"id":"openocd~master~Id661c4005c4467f22e664035245116defda47009","project":"openocd","branch":"master","hashtags":[],"change_id":"Id661c4005c4467f22e664035245116defda47009","subject":"target/riscv-013: clear progbuf_cache on deassert_reset","status":"ABANDONED","created":"2024-10-22 17:36:38.000000000","updated":"2024-10-22 18:48:28.000000000","total_comment_count":0,"unresolved_comment_count":0,"work_in_progress":true,"has_review_started":true,"meta_rev_id":"87cf542ee41018f321973cd92c18fd7d923e6143","_number":8528,"owner":{"_account_id":1002298,"name":"Marek Kraus","email":"gamelaster@outlook.com","username":"gamelaster"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:jenkins-gerrit-trigger","value":1,"date":"2024-10-22 17:51:55.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]}],"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"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2024-10-22 17:51:55.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"}],"messages":[{"id":"93a4d04e73cebc155a28fecefcc60f64fa53caad","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1002298,"name":"Marek Kraus","email":"gamelaster@outlook.com","username":"gamelaster"},"real_author":{"_account_id":1002298,"name":"Marek Kraus","email":"gamelaster@outlook.com","username":"gamelaster"},"date":"2024-10-22 17:36:38.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"f532dfd3ae73110fcb3b4afb6d8d88cf3d76b9f9","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2024-10-22 17:51:55.000000000","message":"Patch Set 1: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/20102/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/19257/ : SUCCESS","accounts_in_message":[],"_revision_number":1},{"id":"cc772664c3332f35aac7f9a6484b449522985a4c","tag":"autogenerated:gerrit:setWorkInProgress","author":{"_account_id":1002298,"name":"Marek Kraus","email":"gamelaster@outlook.com","username":"gamelaster"},"real_author":{"_account_id":1002298,"name":"Marek Kraus","email":"gamelaster@outlook.com","username":"gamelaster"},"date":"2024-10-22 18:45:23.000000000","message":"Set Work In Progress","accounts_in_message":[],"_revision_number":1},{"id":"87cf542ee41018f321973cd92c18fd7d923e6143","tag":"autogenerated:gerrit:abandon","author":{"_account_id":1002298,"name":"Marek Kraus","email":"gamelaster@outlook.com","username":"gamelaster"},"real_author":{"_account_id":1002298,"name":"Marek Kraus","email":"gamelaster@outlook.com","username":"gamelaster"},"date":"2024-10-22 18:48:28.000000000","message":"Abandoned\n\nBetter method was found for bl702","accounts_in_message":[],"_revision_number":1}],"current_revision":"043386daa020e55c278ef10f457169f70d30ed59","revisions":{"043386daa020e55c278ef10f457169f70d30ed59":{"kind":"REWORK","_number":1,"created":"2024-10-22 17:36:38.000000000","uploader":{"_account_id":1002298,"name":"Marek Kraus","email":"gamelaster@outlook.com","username":"gamelaster"},"ref":"refs/changes/28/8528/1","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/28/8528/1","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/28/8528/1 \u0026\u0026 git checkout -b change-8528 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/28/8528/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/28/8528/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/28/8528/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/28/8528/1","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/28/8528/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"d09ff476446a5403e556476b41a5a3c9bdf0a706","subject":"gdb_server: Improve const correctness"}],"author":{"name":"Marek Kraus","email":"gamelaster@outlook.com","date":"2024-10-22 17:12:02.000000000","tz":120},"committer":{"name":"Marek Kraus","email":"gamelaster@outlook.com","date":"2024-10-22 17:12:02.000000000","tz":120},"subject":"target/riscv-013: clear progbuf_cache on deassert_reset","message":"target/riscv-013: clear progbuf_cache on deassert_reset\n\nIn case of gd32vf103 and bl702, which have broken ndmreset\nmechanism, chips are needed to be reset by software.\nThere are multiple ways of which and how to trigger this reset.\n\nIn case of gd32vf103, reset is performed in reset-assert event,\nwhich overrides the default assert_reset C function, so TCL needs to\nhandle haltreq and other tasks, which are normally handled by this\nC function, leading into duplicate and incomplete implementation.\n(for example, rtos awareness is missing here).\n\nTo avoid this, in bl702, the reset can be done in reset-assert-post.\nThe TCL script writes instructions to SRAM/TCM, which are toggling\nreset registers. At the end, TCL sets PC to that instructions,\nand resumes core to perform full software reset.\nThis although still uses progbuf, even if abstract memory access\nis set. Since the progbuf_cache is cleared only in\nassert_reset C function (what at this stage already happened),\nprogbuf_cache contains data which are not present, leading into\ntroubles when using progbuf again after restart.\n\nI noticed that riscv openocd fork have this mechanism reworked,\nbut until it will get upstreamed, it would be good to have this fix,\nto avoid having hacks and redundant code in TCL.\n\nChange-Id: Id661c4005c4467f22e664035245116defda47009\nSigned-off-by: Marek Kraus \u003cgamelaster@outlook.com\u003e\n"}}},"requirements":[],"submit_records":[],"submit_requirements":[]}
