)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Direct memory driver support for CoreSight Access Port(AP)."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Even though we emulate SWD (serial wire debug), we are\u0027nt actually"},{"line_number":12,"context_line":"using swd. Instead, we are using a direct memory access to get to the"},{"line_number":13,"context_line":"register set. This is similar in approach to other fast access native"},{"line_number":14,"context_line":"drivers such as am335xgpio drivers."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7f21ef37_75c15f33","line":11,"updated":"2022-07-23 21:14:04.000000000","message":"typo? s/are\u0027nt/aren\u0027t/","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Direct memory driver support for CoreSight Access Port(AP)."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Even though we emulate SWD (serial wire debug), we are\u0027nt actually"},{"line_number":12,"context_line":"using swd. Instead, we are using a direct memory access to get to the"},{"line_number":13,"context_line":"register set. This is similar in approach to other fast access native"},{"line_number":14,"context_line":"drivers such as am335xgpio drivers."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"06eb5eb7_a8ec60f7","line":11,"in_reply_to":"7f21ef37_75c15f33","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":28,"context_line":"┌───────────┐        │           │"},{"line_number":29,"context_line":"│Cortex-M4F ◄────────┤           │"},{"line_number":30,"context_line":"└───────────┘        └───────────┘"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Signed-off-by: Nishanth Menon \u003cnm@ti.com\u003e"},{"line_number":33,"context_line":"Signed-off-by: Jason Peck \u003cjpeck@ti.com\u003e"},{"line_number":34,"context_line":"Change-Id: I8470cb15348863dd844b2c0e3f63a9063cb032c6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"24a381d4_175f229b","line":31,"updated":"2022-07-23 21:14:04.000000000","message":"would be nice to have this diagram in the documentation, but I never tried to add such stuff in texinfo documents... no idea if it will work!","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":28,"context_line":"┌───────────┐        │           │"},{"line_number":29,"context_line":"│Cortex-M4F ◄────────┤           │"},{"line_number":30,"context_line":"└───────────┘        └───────────┘"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Signed-off-by: Nishanth Menon \u003cnm@ti.com\u003e"},{"line_number":33,"context_line":"Signed-off-by: Jason Peck \u003cjpeck@ti.com\u003e"},{"line_number":34,"context_line":"Change-Id: I8470cb15348863dd844b2c0e3f63a9063cb032c6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3381cdca_4f622fd7","line":31,"in_reply_to":"24a381d4_175f229b","updated":"2022-07-25 18:52:37.000000000","message":"@verbatim\n@end verbatim\nhelped. just need to be careful to use standard ascii instead of ascii extended.","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1002010,"name":"Bryan Brattlof","email":"hello@bryanbrattlof.com","username":"bryanbrattlof","status":"Texas Instruments"},"change_message_id":"92fefaf1c1b9b1f2ae1a7fc26227595c1d9410c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8741e412_f7050d93","updated":"2022-07-18 21:06:48.000000000","message":"It really is amazing how fast stepping through can be when using direct memory access","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0b0feacb_7430d696","updated":"2022-07-23 21:14:04.000000000","message":"Thanks for the patch.\nI have some comment, below.\nThe rshim driver has some issue, and unfortunately you have taken some of them here too.\nI don\u0027t plan to change rshim by now, because I cannot test it and v0.12.0-rc1 would be tagged in September. I will check it later on ...","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"c4fa01e7cc07e1bd629f3936cb900fcadd48481c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"705bc07e_e57d5ca5","in_reply_to":"8741e412_f7050d93","updated":"2022-07-19 12:40:12.000000000","message":"yup.","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2bb33171_58f00759","updated":"2022-10-13 21:07:17.000000000","message":"Fixed in updated revision","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c8c48d1461c86908b2ca124e04497da1b8da187b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4c454a1c_e6bac95d","updated":"2022-10-03 22:30:03.000000000","message":"Sorry for taking so long.\nThere is still some minor stuff to fix, but in general it looks ok.\nThanks","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"57b57d50_5f8bec4b","updated":"2022-07-25 18:52:37.000000000","message":"Thank you for indepth and detailed comments. Hopefully, I have addressed them all.","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"685eb817_0f1cee4a","in_reply_to":"4c454a1c_e6bac95d","updated":"2022-10-13 21:07:17.000000000","message":"Thanks for spending time in detailed review. I believe i have fixed the ones.","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"db119a35a54193923de2cd97310e97289fce1e5e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"842f4a11_fb00ccbb","updated":"2022-10-19 22:38:26.000000000","message":"Nishanth,\nthe new checkpatch does not handle properly utf8 chars in the commit message. It uses perl length() function that counts bytes!\nTwo lines of the diagram get 87 bytes long, causing checkpatch to trigger error, even if the utf8 char count is only 35.\n\nI\u0027m checking in kernel\u0027s checkpatch history. Apparently utf8 in commit message has created some issue and is not welcome, but I cannot find a complete discussion. In\nhttps://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id\u003d15662b3e8644\nthere is a statement:\n\u003e Some find using utf-8 in commit logs inappropriate.\n\nWould you consider acceptable replacing in the commit msg the same ascii-art diagram you have put in openocd.texi?\nIn mean time, I will propose upstream this checkpatch change to get some feedback\n @@ -3268,7 +3268,7 @@ sub process {\n  \n  # Check for line lengths \u003e 75 in commit log, warn once\n                 if ($in_commit_log \u0026\u0026 !$commit_log_long_line \u0026\u0026\n -                   length($line) \u003e 75 \u0026\u0026\n +                   length(decode(\"utf8\", $line)) \u003e 75 \u0026\u0026","commit_id":"e1a45d628db704cf86cffa52a796969c544438dc"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"bf6b75c58d9d9d84ff56910952b01fb0221833e4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"89d4d9ba_164d3e58","in_reply_to":"842f4a11_fb00ccbb","updated":"2022-10-19 22:40:19.000000000","message":"Thanks for looking this up @Antonio -\u003e back to utf8 it is.. will update.. :(","commit_id":"e1a45d628db704cf86cffa52a796969c544438dc"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"f66e0b594f7c8d6a4529edce7dbee9b96a5e22ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"200a8e16_4105f478","updated":"2022-10-19 22:48:30.000000000","message":"Sorry about the extra version.. I missed a \u0027+\u0027 in the commit message - might as well get it clean..","commit_id":"89e084f8a0305bbb5b8735fb604fc73edd4cb48e"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"e25672ec1435febaf8d64ba016f1cda40dc75ec2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a45efc6c_4773db61","updated":"2023-08-08 17:03:09.000000000","message":"Thank you Antonio","commit_id":"89e084f8a0305bbb5b8735fb604fc73edd4cb48e"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"00848b5af264fbeb62b5cc6f113aca4c30b31e6c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4b68034f_8f5c3fff","updated":"2022-10-20 08:13:05.000000000","message":"Thanks.\nApart from two remaining points to check, I\u0027m ok with this result.","commit_id":"89e084f8a0305bbb5b8735fb604fc73edd4cb48e"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"e25672ec1435febaf8d64ba016f1cda40dc75ec2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"842e51b4_4994ec5e","in_reply_to":"4b68034f_8f5c3fff","updated":"2023-08-08 17:03:09.000000000","message":"Thank you. Apologies on getting to this so late.","commit_id":"89e084f8a0305bbb5b8735fb604fc73edd4cb48e"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"520005e5450193fcbf44d0c2ff5986de95b60c5f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"6a081814_a81df2aa","updated":"2023-08-10 22:05:24.000000000","message":"Nishanyh, two more comments below!","commit_id":"498ba4f24a1423e10f8734004dcc41b14f785009"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"f98240e1a13f890d1506d4f7397e4e44dcf247af","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"cdedcbfe_da841d14","updated":"2023-08-11 00:56:52.000000000","message":"Thank you for the review. the fixes are done for the next rev.","commit_id":"498ba4f24a1423e10f8734004dcc41b14f785009"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"7a929b63a23b34942e52724ad130373412b8c5e0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c25fac4b_dff6c7c3","updated":"2023-08-15 14:04:43.000000000","message":"Thanks!","commit_id":"84494aa671fad4e03c5b85266083b62b114418cb"}],"configure.ac":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":352,"context_line":"    AS_IF([test \"x$build_sysfsgpio\" \u003d \"xyes\"], ["},{"line_number":353,"context_line":"      AC_MSG_ERROR([sysfsgpio is only available on linux])"},{"line_number":354,"context_line":"    ])"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"    AS_IF([test \"x$enable_linuxgpiod\" \u003d \"xyes\"], ["},{"line_number":357,"context_line":"      AC_MSG_ERROR([linuxgpiod is only available on linux])"},{"line_number":358,"context_line":"    ])"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"85cf1248_4767f769","line":355,"updated":"2022-07-23 21:14:04.000000000","message":"should \u0027dmem\u0027 driver be restricted for Linux OS only?\nIt needs /dev/mem and so far the drivers that use it are Linux only. No idea about the *BSD.","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":352,"context_line":"    AS_IF([test \"x$build_sysfsgpio\" \u003d \"xyes\"], ["},{"line_number":353,"context_line":"      AC_MSG_ERROR([sysfsgpio is only available on linux])"},{"line_number":354,"context_line":"    ])"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"    AS_IF([test \"x$enable_linuxgpiod\" \u003d \"xyes\"], ["},{"line_number":357,"context_line":"      AC_MSG_ERROR([linuxgpiod is only available on linux])"},{"line_number":358,"context_line":"    ])"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"a929c115_314209c3","line":355,"in_reply_to":"85cf1248_4767f769","updated":"2022-07-25 18:52:37.000000000","message":"fair, will add it since my testing has been constrained to just linux, though /dev/mem can be enabled in other OSes too (mac https://anadoxin.org/blog/enabling-devmem-on-macos-x.html/ ) freebsd (https://www.freebsd.org/cgi/man.cgi?query\u003dmem\u0026sektion\u003d4\u0026apropos\u003d0\u0026manpath\u003dFreeBSD+9.1-RELEASE).","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"}],"doc/openocd.texi":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":3706,"context_line":"See @file{tcl/interface/ti_k3_am625-swd-native.cfg} for a sample configuration"},{"line_number":3707,"context_line":"file."},{"line_number":3708,"context_line":""},{"line_number":3709,"context_line":"@deffn {Config Command} {base_address base_address}"},{"line_number":3710,"context_line":"Set the DAPBUS base address which is used to access CoreSight"},{"line_number":3711,"context_line":"compliant Access Ports(APs) directly."},{"line_number":3712,"context_line":"@end deffn"}],"source_content_type":"text/x-texinfo","patch_set":1,"id":"5965c4c0_717b92bd","line":3709,"updated":"2022-07-23 21:14:04.000000000","message":"This should be:\n @deffn {Config Command} {dmem base_address} base_address","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":3706,"context_line":"See @file{tcl/interface/ti_k3_am625-swd-native.cfg} for a sample configuration"},{"line_number":3707,"context_line":"file."},{"line_number":3708,"context_line":""},{"line_number":3709,"context_line":"@deffn {Config Command} {base_address base_address}"},{"line_number":3710,"context_line":"Set the DAPBUS base address which is used to access CoreSight"},{"line_number":3711,"context_line":"compliant Access Ports(APs) directly."},{"line_number":3712,"context_line":"@end deffn"}],"source_content_type":"text/x-texinfo","patch_set":1,"id":"20079bc2_30017ee9","line":3709,"in_reply_to":"5965c4c0_717b92bd","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":3708,"context_line":""},{"line_number":3709,"context_line":"@deffn {Config Command} {base_address base_address}"},{"line_number":3710,"context_line":"Set the DAPBUS base address which is used to access CoreSight"},{"line_number":3711,"context_line":"compliant Access Ports(APs) directly."},{"line_number":3712,"context_line":"@end deffn"},{"line_number":3713,"context_line":""},{"line_number":3714,"context_line":"@deffn {Config Command} {ap_address_offset offset_address}"}],"source_content_type":"text/x-texinfo","patch_set":1,"id":"5a018397_11e06319","line":3711,"updated":"2022-07-23 21:14:04.000000000","message":"add a space between \u0027Ports\u0027 and \u0027(APs)\u0027","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":3708,"context_line":""},{"line_number":3709,"context_line":"@deffn {Config Command} {base_address base_address}"},{"line_number":3710,"context_line":"Set the DAPBUS base address which is used to access CoreSight"},{"line_number":3711,"context_line":"compliant Access Ports(APs) directly."},{"line_number":3712,"context_line":"@end deffn"},{"line_number":3713,"context_line":""},{"line_number":3714,"context_line":"@deffn {Config Command} {ap_address_offset offset_address}"}],"source_content_type":"text/x-texinfo","patch_set":1,"id":"78e4da2c_f0480289","line":3711,"in_reply_to":"5a018397_11e06319","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":3711,"context_line":"compliant Access Ports(APs) directly."},{"line_number":3712,"context_line":"@end deffn"},{"line_number":3713,"context_line":""},{"line_number":3714,"context_line":"@deffn {Config Command} {ap_address_offset offset_address}"},{"line_number":3715,"context_line":"Set the address offset between Access Ports (APs)."},{"line_number":3716,"context_line":"@end deffn"},{"line_number":3717,"context_line":""}],"source_content_type":"text/x-texinfo","patch_set":1,"id":"94c25ed9_50e1e45d","line":3714,"updated":"2022-07-23 21:14:04.000000000","message":"@deffn {Config Command} {dmem ap_address_offset} offset_address","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":3711,"context_line":"compliant Access Ports(APs) directly."},{"line_number":3712,"context_line":"@end deffn"},{"line_number":3713,"context_line":""},{"line_number":3714,"context_line":"@deffn {Config Command} {ap_address_offset offset_address}"},{"line_number":3715,"context_line":"Set the address offset between Access Ports (APs)."},{"line_number":3716,"context_line":"@end deffn"},{"line_number":3717,"context_line":""}],"source_content_type":"text/x-texinfo","patch_set":1,"id":"b7d1627c_7af4a72f","line":3714,"in_reply_to":"94c25ed9_50e1e45d","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":3715,"context_line":"Set the address offset between Access Ports (APs)."},{"line_number":3716,"context_line":"@end deffn"},{"line_number":3717,"context_line":""},{"line_number":3718,"context_line":"@deffn {Config Command} {max_aps}"},{"line_number":3719,"context_line":"Set the maximum number of valid access ports on the SoC."},{"line_number":3720,"context_line":"@end deffn"},{"line_number":3721,"context_line":""}],"source_content_type":"text/x-texinfo","patch_set":1,"id":"7e527271_0e3e66cb","line":3718,"updated":"2022-07-23 21:14:04.000000000","message":"@deffn {Config Command} {dmem max_aps} n","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":3715,"context_line":"Set the address offset between Access Ports (APs)."},{"line_number":3716,"context_line":"@end deffn"},{"line_number":3717,"context_line":""},{"line_number":3718,"context_line":"@deffn {Config Command} {max_aps}"},{"line_number":3719,"context_line":"Set the maximum number of valid access ports on the SoC."},{"line_number":3720,"context_line":"@end deffn"},{"line_number":3721,"context_line":""}],"source_content_type":"text/x-texinfo","patch_set":1,"id":"f8c36b34_60edc412","line":3718,"in_reply_to":"7e527271_0e3e66cb","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":3718,"context_line":"@deffn {Config Command} {max_aps}"},{"line_number":3719,"context_line":"Set the maximum number of valid access ports on the SoC."},{"line_number":3720,"context_line":"@end deffn"},{"line_number":3721,"context_line":""},{"line_number":3722,"context_line":"@end deffn"},{"line_number":3723,"context_line":""},{"line_number":3724,"context_line":"@section Transport Configuration"}],"source_content_type":"text/x-texinfo","patch_set":1,"id":"6a46ed28_0456fb8b","line":3721,"updated":"2022-07-23 21:14:04.000000000","message":"are missing the commands:\n @deffn {Config Command} {dmem device} filename\n @deffn {Config Command} {dmem info}","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":3718,"context_line":"@deffn {Config Command} {max_aps}"},{"line_number":3719,"context_line":"Set the maximum number of valid access ports on the SoC."},{"line_number":3720,"context_line":"@end deffn"},{"line_number":3721,"context_line":""},{"line_number":3722,"context_line":"@end deffn"},{"line_number":3723,"context_line":""},{"line_number":3724,"context_line":"@section Transport Configuration"}],"source_content_type":"text/x-texinfo","patch_set":1,"id":"0039f3c0_5eb0548a","line":3721,"in_reply_to":"6a46ed28_0456fb8b","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"}],"src/jtag/drivers/dmem.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":32,"context_line":"/* Dmem file handler. */"},{"line_number":33,"context_line":"static int dmem_fd \u003d -1;"},{"line_number":34,"context_line":"static void *dmem_map_base, *dmem_virt_base_addr;"},{"line_number":35,"context_line":"static long dmem_mapped_start, dmem_mapped_size;"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"/* DAP error code. */"},{"line_number":38,"context_line":"static int dmem_dap_retval \u003d ERROR_OK;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"70d91503_fa0febdf","line":35,"updated":"2022-07-23 21:14:04.000000000","message":"maybe better using type \u0027size_t\u0027. It is the type of the \u0027len\u0027 parameter of mmap()","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":32,"context_line":"/* Dmem file handler. */"},{"line_number":33,"context_line":"static int dmem_fd \u003d -1;"},{"line_number":34,"context_line":"static void *dmem_map_base, *dmem_virt_base_addr;"},{"line_number":35,"context_line":"static long dmem_mapped_start, dmem_mapped_size;"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"/* DAP error code. */"},{"line_number":38,"context_line":"static int dmem_dap_retval \u003d ERROR_OK;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"43ee6b47_bb02d7f8","line":35,"in_reply_to":"70d91503_fa0febdf","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":53,"context_line":"static void dmem_set_ap_reg(struct adiv5_ap *ap, unsigned int reg, unsigned int val)"},{"line_number":54,"context_line":"{"},{"line_number":55,"context_line":"\t*(volatile uint32_t *)((char *)dmem_virt_base_addr +"},{"line_number":56,"context_line":"\t\t\t       dmem_get_ap_reg_offset(ap, reg)) \u003d val;"},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"static uint32_t dmem_get_ap_reg(struct adiv5_ap *ap, unsigned int reg)"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"d429a27e_8b636ab8","line":56,"updated":"2022-07-23 21:14:04.000000000","message":"Here and in all the following indentations you are using TAB of 8 characters, adding some space to properly align the code.\nBut OpenOCD coding style requires TAB of 4 characters!","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"3f5e3bc8da261ed9cd6bf53db49291c73e750320","unresolved":false,"context_lines":[{"line_number":53,"context_line":"static void dmem_set_ap_reg(struct adiv5_ap *ap, unsigned int reg, unsigned int val)"},{"line_number":54,"context_line":"{"},{"line_number":55,"context_line":"\t*(volatile uint32_t *)((char *)dmem_virt_base_addr +"},{"line_number":56,"context_line":"\t\t\t       dmem_get_ap_reg_offset(ap, reg)) \u003d val;"},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"static uint32_t dmem_get_ap_reg(struct adiv5_ap *ap, unsigned int reg)"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"c5354eb4_62006b33","line":56,"in_reply_to":"97bc0780_e9b30a90","updated":"2022-07-25 21:54:20.000000000","message":"Done","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":true,"context_lines":[{"line_number":53,"context_line":"static void dmem_set_ap_reg(struct adiv5_ap *ap, unsigned int reg, unsigned int val)"},{"line_number":54,"context_line":"{"},{"line_number":55,"context_line":"\t*(volatile uint32_t *)((char *)dmem_virt_base_addr +"},{"line_number":56,"context_line":"\t\t\t       dmem_get_ap_reg_offset(ap, reg)) \u003d val;"},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"static uint32_t dmem_get_ap_reg(struct adiv5_ap *ap, unsigned int reg)"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"97bc0780_e9b30a90","line":56,"in_reply_to":"d429a27e_8b636ab8","updated":"2022-07-25 18:52:37.000000000","message":"uggh.. i had hoped uncrustify.cfg would have taken care of it.. but apparently not. will fixup to ts\u003d4","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"\tswitch (reg) {"},{"line_number":71,"context_line":"\t\tcase DP_DPIDR:"},{"line_number":72,"context_line":"\t\t\t*data \u003d dp_id_code;"},{"line_number":73,"context_line":"\t\t\tbreak;"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"\t\tcase DP_CTRL_STAT:"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"a5395c8e_27adcd15","line":72,"updated":"2022-07-23 21:14:04.000000000","message":"This will always return \u00270\u0027, since dp_id_code is never assigned.\nDrop the variable dp_id_code.","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"\tswitch (reg) {"},{"line_number":71,"context_line":"\t\tcase DP_DPIDR:"},{"line_number":72,"context_line":"\t\t\t*data \u003d dp_id_code;"},{"line_number":73,"context_line":"\t\t\tbreak;"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"\t\tcase DP_CTRL_STAT:"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"8c0ca505_f2d3059e","line":72,"in_reply_to":"a5395c8e_27adcd15","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":87,"context_line":"{"},{"line_number":88,"context_line":"\tswitch (reg) {"},{"line_number":89,"context_line":"\t\tcase DP_CTRL_STAT:"},{"line_number":90,"context_line":"\t\t\tdp_ctrl_stat \u003d data;"},{"line_number":91,"context_line":"\t\t\tbreak;"},{"line_number":92,"context_line":"\t\tcase DP_SELECT:"},{"line_number":93,"context_line":"\t\t\tap_sel \u003d (data \u0026 DP_SELECT_APSEL) \u003e\u003e 24;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"828b9b86_34848c5d","line":90,"updated":"2022-07-23 21:14:04.000000000","message":"the variable dp_ctrl_stat is never used.\nDrop it and handle this case in the \u0027default:\u0027 below","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":87,"context_line":"{"},{"line_number":88,"context_line":"\tswitch (reg) {"},{"line_number":89,"context_line":"\t\tcase DP_CTRL_STAT:"},{"line_number":90,"context_line":"\t\t\tdp_ctrl_stat \u003d data;"},{"line_number":91,"context_line":"\t\t\tbreak;"},{"line_number":92,"context_line":"\t\tcase DP_SELECT:"},{"line_number":93,"context_line":"\t\t\tap_sel \u003d (data \u0026 DP_SELECT_APSEL) \u003e\u003e 24;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"9cdc9932_8497425f","line":90,"in_reply_to":"828b9b86_34848c5d","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":90,"context_line":"\t\t\tdp_ctrl_stat \u003d data;"},{"line_number":91,"context_line":"\t\t\tbreak;"},{"line_number":92,"context_line":"\t\tcase DP_SELECT:"},{"line_number":93,"context_line":"\t\t\tap_sel \u003d (data \u0026 DP_SELECT_APSEL) \u003e\u003e 24;"},{"line_number":94,"context_line":"\t\t\tap_bank \u003d (data \u0026 DP_SELECT_APBANK) \u003e\u003e 4;"},{"line_number":95,"context_line":"\t\t\tbreak;"},{"line_number":96,"context_line":"\t\tdefault:"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"dbe31a18_5f8eb1d2","line":93,"updated":"2022-07-23 21:14:04.000000000","message":"ap_sel is never used. Drop it","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":90,"context_line":"\t\t\tdp_ctrl_stat \u003d data;"},{"line_number":91,"context_line":"\t\t\tbreak;"},{"line_number":92,"context_line":"\t\tcase DP_SELECT:"},{"line_number":93,"context_line":"\t\t\tap_sel \u003d (data \u0026 DP_SELECT_APSEL) \u003e\u003e 24;"},{"line_number":94,"context_line":"\t\t\tap_bank \u003d (data \u0026 DP_SELECT_APBANK) \u003e\u003e 4;"},{"line_number":95,"context_line":"\t\t\tbreak;"},{"line_number":96,"context_line":"\t\tdefault:"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"a879ada1_519d96ea","line":93,"in_reply_to":"dbe31a18_5f8eb1d2","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"static int dmem_ap_q_read(struct adiv5_ap *ap, unsigned int reg, uint32_t *data)"},{"line_number":104,"context_line":"{"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"\tif (is_adiv6(ap-\u003edap)) {"},{"line_number":107,"context_line":"\t\tstatic bool error_flagged;"},{"line_number":108,"context_line":"\t\tif (!error_flagged)"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"fa4d0c96_816f307f","line":105,"updated":"2022-07-23 21:14:04.000000000","message":"remove this empty line","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"static int dmem_ap_q_read(struct adiv5_ap *ap, unsigned int reg, uint32_t *data)"},{"line_number":104,"context_line":"{"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"\tif (is_adiv6(ap-\u003edap)) {"},{"line_number":107,"context_line":"\t\tstatic bool error_flagged;"},{"line_number":108,"context_line":"\t\tif (!error_flagged)"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"d4ebee1a_b57b267b","line":105,"in_reply_to":"fa4d0c96_816f307f","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":127,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":128,"context_line":"\t}"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"\tif (ap_bank !\u003d 0) {"},{"line_number":131,"context_line":"\t\tLOG_ERROR(\"%s: BANK\u003d%d AP\u003d%ld wrote[0x%02x]: 0x%08x\\n\", __func__, ap_bank,"},{"line_number":132,"context_line":"\t\t\t  ap-\u003eap_num, reg, data);"},{"line_number":133,"context_line":"\t\tdmem_dap_retval \u003d ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"188f7ceb_0afb80cf","line":130,"updated":"2022-07-23 21:14:04.000000000","message":"this is also taken from rshim.\ndap_direct doesn\u0027t set ap_bank in register SELECT. So this can be dropped.\nDropping this, we can also drop collecting ap_bank in dmem_dp_q_write().","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":127,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":128,"context_line":"\t}"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"\tif (ap_bank !\u003d 0) {"},{"line_number":131,"context_line":"\t\tLOG_ERROR(\"%s: BANK\u003d%d AP\u003d%ld wrote[0x%02x]: 0x%08x\\n\", __func__, ap_bank,"},{"line_number":132,"context_line":"\t\t\t  ap-\u003eap_num, reg, data);"},{"line_number":133,"context_line":"\t\tdmem_dap_retval \u003d ERROR_FAIL;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"1178b80a_a10d2e41","line":130,"in_reply_to":"188f7ceb_0afb80cf","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":219,"context_line":"{"},{"line_number":220,"context_line":"\tif (CMD_ARGC !\u003d 1) {"},{"line_number":221,"context_line":"\t\tcommand_print(CMD, \"Too many arguments\");"},{"line_number":222,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":223,"context_line":"\t}"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"\tfree(dmem_dev_path);"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"7aea5364_145d0daf","line":222,"updated":"2022-07-23 21:14:04.000000000","message":"By returning ERROR_COMMAND_SYNTAX_ERROR, OpenOCD already prints out the correct syntax and drops any previous command_print().\nRemove the command_print() and use directly:\n if (CMD_ARGC !\u003d 1)\n   return ERROR_COMMAND_SYNTAX_ERROR;\n\nSame for the other commands below.","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":219,"context_line":"{"},{"line_number":220,"context_line":"\tif (CMD_ARGC !\u003d 1) {"},{"line_number":221,"context_line":"\t\tcommand_print(CMD, \"Too many arguments\");"},{"line_number":222,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":223,"context_line":"\t}"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"\tfree(dmem_dev_path);"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"8b8f0c4a_692296fb","line":222,"in_reply_to":"7aea5364_145d0daf","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":279,"context_line":"\t\t.handler \u003d dmem_dap_device_command,"},{"line_number":280,"context_line":"\t\t.mode \u003d COMMAND_CONFIG,"},{"line_number":281,"context_line":"\t\t.help \u003d \"set the dmem memory access device\","},{"line_number":282,"context_line":"\t\t.usage \u003d \"\u003c/dev/mem\u003e\","},{"line_number":283,"context_line":"\t},"},{"line_number":284,"context_line":"\t{"},{"line_number":285,"context_line":"\t\t.name \u003d \"base_address\","}],"source_content_type":"text/x-csrc","patch_set":1,"id":"bb36f9ac_e28f0d41","line":282,"updated":"2022-07-23 21:14:04.000000000","message":"We have got some new user asking help for errors using the \u0027\u003c\u003e\u0027 around the parameter.\nI don\u0027t know how it started being used, but I think we should drop them in favor of a more standard syntax.\nWould you mind dropping the \u0027\u003c\u003e\u0027 in this patch?\nAlso, here it should be\n .usage \u003d \"filename\",\n\nand should be added in .help \"(default /dev/mem)\"","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[{"line_number":279,"context_line":"\t\t.handler \u003d dmem_dap_device_command,"},{"line_number":280,"context_line":"\t\t.mode \u003d COMMAND_CONFIG,"},{"line_number":281,"context_line":"\t\t.help \u003d \"set the dmem memory access device\","},{"line_number":282,"context_line":"\t\t.usage \u003d \"\u003c/dev/mem\u003e\","},{"line_number":283,"context_line":"\t},"},{"line_number":284,"context_line":"\t{"},{"line_number":285,"context_line":"\t\t.name \u003d \"base_address\","}],"source_content_type":"text/x-csrc","patch_set":1,"id":"8a605547_9f00288d","line":282,"in_reply_to":"266f4a22_3d29e77b","updated":"2022-10-13 21:07:17.000000000","message":"I have fixedup the usage to be in sync with the documentation and used device_path here.","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":279,"context_line":"\t\t.handler \u003d dmem_dap_device_command,"},{"line_number":280,"context_line":"\t\t.mode \u003d COMMAND_CONFIG,"},{"line_number":281,"context_line":"\t\t.help \u003d \"set the dmem memory access device\","},{"line_number":282,"context_line":"\t\t.usage \u003d \"\u003c/dev/mem\u003e\","},{"line_number":283,"context_line":"\t},"},{"line_number":284,"context_line":"\t{"},{"line_number":285,"context_line":"\t\t.name \u003d \"base_address\","}],"source_content_type":"text/x-csrc","patch_set":1,"id":"266f4a22_3d29e77b","line":282,"in_reply_to":"bb36f9ac_e28f0d41","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":286,"context_line":"\t\t.handler \u003d dmem_dap_base_address_command,"},{"line_number":287,"context_line":"\t\t.mode \u003d COMMAND_CONFIG,"},{"line_number":288,"context_line":"\t\t.help \u003d \"set the dmem dap AP memory map base address\","},{"line_number":289,"context_line":"\t\t.usage \u003d \"\u003c0x700000000\u003e\","},{"line_number":290,"context_line":"\t},"},{"line_number":291,"context_line":"\t{"},{"line_number":292,"context_line":"\t\t.name \u003d \"max_aps\","}],"source_content_type":"text/x-csrc","patch_set":1,"id":"5ec0ac3c_302e81af","line":289,"updated":"2022-07-23 21:14:04.000000000","message":".usage \u003d \"address\",","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[{"line_number":286,"context_line":"\t\t.handler \u003d dmem_dap_base_address_command,"},{"line_number":287,"context_line":"\t\t.mode \u003d COMMAND_CONFIG,"},{"line_number":288,"context_line":"\t\t.help \u003d \"set the dmem dap AP memory map base address\","},{"line_number":289,"context_line":"\t\t.usage \u003d \"\u003c0x700000000\u003e\","},{"line_number":290,"context_line":"\t},"},{"line_number":291,"context_line":"\t{"},{"line_number":292,"context_line":"\t\t.name \u003d \"max_aps\","}],"source_content_type":"text/x-csrc","patch_set":1,"id":"31554668_b617fd46","line":289,"in_reply_to":"31220b4f_1c504d52","updated":"2022-10-13 21:07:17.000000000","message":"I have fixedup the usage to be in sync with the documentation and used base_address here.","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":286,"context_line":"\t\t.handler \u003d dmem_dap_base_address_command,"},{"line_number":287,"context_line":"\t\t.mode \u003d COMMAND_CONFIG,"},{"line_number":288,"context_line":"\t\t.help \u003d \"set the dmem dap AP memory map base address\","},{"line_number":289,"context_line":"\t\t.usage \u003d \"\u003c0x700000000\u003e\","},{"line_number":290,"context_line":"\t},"},{"line_number":291,"context_line":"\t{"},{"line_number":292,"context_line":"\t\t.name \u003d \"max_aps\","}],"source_content_type":"text/x-csrc","patch_set":1,"id":"31220b4f_1c504d52","line":289,"in_reply_to":"5ec0ac3c_302e81af","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":293,"context_line":"\t\t.handler \u003d dmem_dap_max_aps_command,"},{"line_number":294,"context_line":"\t\t.mode \u003d COMMAND_CONFIG,"},{"line_number":295,"context_line":"\t\t.help \u003d \"set the maximum number of APs this will support\","},{"line_number":296,"context_line":"\t\t.usage \u003d \"\u003c1\u003e\","},{"line_number":297,"context_line":"\t},"},{"line_number":298,"context_line":"\t{"},{"line_number":299,"context_line":"\t\t.name \u003d \"ap_address_offset\","}],"source_content_type":"text/x-csrc","patch_set":1,"id":"14eeaec2_421b1353","line":296,"updated":"2022-07-23 21:14:04.000000000","message":".usage \u003d \"n\",","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":293,"context_line":"\t\t.handler \u003d dmem_dap_max_aps_command,"},{"line_number":294,"context_line":"\t\t.mode \u003d COMMAND_CONFIG,"},{"line_number":295,"context_line":"\t\t.help \u003d \"set the maximum number of APs this will support\","},{"line_number":296,"context_line":"\t\t.usage \u003d \"\u003c1\u003e\","},{"line_number":297,"context_line":"\t},"},{"line_number":298,"context_line":"\t{"},{"line_number":299,"context_line":"\t\t.name \u003d \"ap_address_offset\","}],"source_content_type":"text/x-csrc","patch_set":1,"id":"61259124_9b26c2cb","line":296,"in_reply_to":"14eeaec2_421b1353","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":300,"context_line":"\t\t.handler \u003d dmem_dap_ap_offset_command,"},{"line_number":301,"context_line":"\t\t.mode \u003d COMMAND_CONFIG,"},{"line_number":302,"context_line":"\t\t.help \u003d \"set the offsets of each ap index\","},{"line_number":303,"context_line":"\t\t.usage \u003d \"\u003c0x100\u003e\","},{"line_number":304,"context_line":"\t},"},{"line_number":305,"context_line":"\t{"},{"line_number":306,"context_line":"\t\t.name \u003d \"info\","}],"source_content_type":"text/x-csrc","patch_set":1,"id":"e6895d14_99ab326d","line":303,"updated":"2022-07-23 21:14:04.000000000","message":".usage \u003d \"offset\",","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":300,"context_line":"\t\t.handler \u003d dmem_dap_ap_offset_command,"},{"line_number":301,"context_line":"\t\t.mode \u003d COMMAND_CONFIG,"},{"line_number":302,"context_line":"\t\t.help \u003d \"set the offsets of each ap index\","},{"line_number":303,"context_line":"\t\t.usage \u003d \"\u003c0x100\u003e\","},{"line_number":304,"context_line":"\t},"},{"line_number":305,"context_line":"\t{"},{"line_number":306,"context_line":"\t\t.name \u003d \"info\","}],"source_content_type":"text/x-csrc","patch_set":1,"id":"f62b22ea_07a48f80","line":303,"in_reply_to":"e6895d14_99ab326d","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[{"line_number":300,"context_line":"\t\t.handler \u003d dmem_dap_ap_offset_command,"},{"line_number":301,"context_line":"\t\t.mode \u003d COMMAND_CONFIG,"},{"line_number":302,"context_line":"\t\t.help \u003d \"set the offsets of each ap index\","},{"line_number":303,"context_line":"\t\t.usage \u003d \"\u003c0x100\u003e\","},{"line_number":304,"context_line":"\t},"},{"line_number":305,"context_line":"\t{"},{"line_number":306,"context_line":"\t\t.name \u003d \"info\","}],"source_content_type":"text/x-csrc","patch_set":1,"id":"9e27a98d_663806ac","line":303,"in_reply_to":"f62b22ea_07a48f80","updated":"2022-10-13 21:07:17.000000000","message":"I have fixedup the usage to be in sync with the documentation and used offset_address here.","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c84a70b922243c581cc008f021fb95afde0567fe","unresolved":true,"context_lines":[{"line_number":323,"context_line":"\tCOMMAND_REGISTRATION_DONE"},{"line_number":324,"context_line":"};"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"static int dmem_dap_init(void)"},{"line_number":327,"context_line":"{"},{"line_number":328,"context_line":"\treturn ERROR_OK;"},{"line_number":329,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"c3eb71b3_b7e1f59c","line":326,"updated":"2022-07-23 21:14:04.000000000","message":"Hummm...\nWhat you have put in dmem_connect should go here.\nAnd what you have put in dmem_disconnect should go in dmem_dap_quit() below.\nThe dap_ops::connect() is to initialize the DAP, not to interface, and  dap_ops::quit() is optional for special use cases.\nI see that this is copied from rshim, it should be fixed there too.\nWould you mind changing method in dmem driver?","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"93cd9705fab98fcf41e4a7689448d4b5c776d459","unresolved":false,"context_lines":[{"line_number":323,"context_line":"\tCOMMAND_REGISTRATION_DONE"},{"line_number":324,"context_line":"};"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"static int dmem_dap_init(void)"},{"line_number":327,"context_line":"{"},{"line_number":328,"context_line":"\treturn ERROR_OK;"},{"line_number":329,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"4a6b3b85_678e492f","line":326,"in_reply_to":"c3eb71b3_b7e1f59c","updated":"2022-07-25 18:52:37.000000000","message":"Ack","commit_id":"97dfd84e645bdfa4ee18a5572622315f4446c75b"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c8c48d1461c86908b2ca124e04497da1b8da187b","unresolved":true,"context_lines":[{"line_number":33,"context_line":"#define DMEM_DEV_PATH_DEFAULT   \"/dev/mem\""},{"line_number":34,"context_line":"static char *dmem_dev_path;"},{"line_number":35,"context_line":"static uint64_t dmem_dap_base_address;"},{"line_number":36,"context_line":"static uint8_t dmem_dap_max_aps \u003d 1;"},{"line_number":37,"context_line":"static uint32_t dmem_dap_ap_offset \u003d 0x100;"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"/* AP MODE */"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"6e2947ee_b81f1123","line":36,"updated":"2022-10-03 22:30:03.000000000","message":"I think the type is not linked to any HW related register width. Can be changed to \u0027unsigned int\u0027?","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"#define DMEM_DEV_PATH_DEFAULT   \"/dev/mem\""},{"line_number":34,"context_line":"static char *dmem_dev_path;"},{"line_number":35,"context_line":"static uint64_t dmem_dap_base_address;"},{"line_number":36,"context_line":"static uint8_t dmem_dap_max_aps \u003d 1;"},{"line_number":37,"context_line":"static uint32_t dmem_dap_ap_offset \u003d 0x100;"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"/* AP MODE */"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"c33f2073_1533468b","line":36,"in_reply_to":"6e2947ee_b81f1123","updated":"2022-10-13 21:07:17.000000000","message":"Done","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c8c48d1461c86908b2ca124e04497da1b8da187b","unresolved":true,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"static void dmem_set_ap_reg(struct adiv5_ap *ap, unsigned int reg, unsigned int val)"},{"line_number":46,"context_line":"{"},{"line_number":47,"context_line":"\t*(volatile uint32_t *)((char *)dmem_virt_base_addr +"},{"line_number":48,"context_line":"\t\t\t\t\t\t   dmem_get_ap_reg_offset(ap, reg)) \u003d val;"},{"line_number":49,"context_line":"}"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"b171b342_26617c2f","line":47,"updated":"2022-10-03 22:30:03.000000000","message":"don\u0027t cast the void* to char* to execute pointer arithmetics, but cast to uintptr_t:\n*(volatile uint32_t *)((uintptr_t)dmem_virt_base_addr + ...","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"static void dmem_set_ap_reg(struct adiv5_ap *ap, unsigned int reg, unsigned int val)"},{"line_number":46,"context_line":"{"},{"line_number":47,"context_line":"\t*(volatile uint32_t *)((char *)dmem_virt_base_addr +"},{"line_number":48,"context_line":"\t\t\t\t\t\t   dmem_get_ap_reg_offset(ap, reg)) \u003d val;"},{"line_number":49,"context_line":"}"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"419ac8be_057cd08a","line":47,"in_reply_to":"b171b342_26617c2f","updated":"2022-10-13 21:07:17.000000000","message":"Done","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c8c48d1461c86908b2ca124e04497da1b8da187b","unresolved":true,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"static uint32_t dmem_get_ap_reg(struct adiv5_ap *ap, unsigned int reg)"},{"line_number":52,"context_line":"{"},{"line_number":53,"context_line":"\treturn *(volatile uint32_t *)((char *)dmem_virt_base_addr +"},{"line_number":54,"context_line":"\t\t\t\t\t\t\t\t  dmem_get_ap_reg_offset(ap, reg));"},{"line_number":55,"context_line":"}"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"c48b5509_88480e89","line":53,"updated":"2022-10-03 22:30:03.000000000","message":"same here","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"static uint32_t dmem_get_ap_reg(struct adiv5_ap *ap, unsigned int reg)"},{"line_number":52,"context_line":"{"},{"line_number":53,"context_line":"\treturn *(volatile uint32_t *)((char *)dmem_virt_base_addr +"},{"line_number":54,"context_line":"\t\t\t\t\t\t\t\t  dmem_get_ap_reg_offset(ap, reg));"},{"line_number":55,"context_line":"}"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"c19e923a_b25aaeec","line":53,"in_reply_to":"c48b5509_88480e89","updated":"2022-10-13 21:07:17.000000000","message":"Done","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"86312422c2d2bd8268dfc5d141a1772b37eebc29","unresolved":true,"context_lines":[{"line_number":65,"context_line":"\t\t\tbreak;"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"\t\tdefault:"},{"line_number":68,"context_line":"\t\t\tbreak;"},{"line_number":69,"context_line":"\t}"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"\treturn ERROR_OK;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"92740b60_c0fb5a75","line":68,"updated":"2022-10-03 23:10:59.000000000","message":"I think it\u0027s better to set \u0027*data \u003d 0;\u0027 here; we return ERROR_OK and the caller expects data to be assigned. I don\u0027t want to get mad looking for random behavior due to data carrying probably an uninitialized value.","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[{"line_number":65,"context_line":"\t\t\tbreak;"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"\t\tdefault:"},{"line_number":68,"context_line":"\t\t\tbreak;"},{"line_number":69,"context_line":"\t}"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"\treturn ERROR_OK;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"b65a4d17_22659b28","line":68,"in_reply_to":"92740b60_c0fb5a75","updated":"2022-10-13 21:07:17.000000000","message":"Done","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c8c48d1461c86908b2ca124e04497da1b8da187b","unresolved":true,"context_lines":[{"line_number":176,"context_line":"\tcommand_print(CMD, \"dmem (Direct Memory) AP Adapter Configuration:\");"},{"line_number":177,"context_line":"\tcommand_print(CMD, \" Device       : %s\","},{"line_number":178,"context_line":"\t\t\t\t  dmem_dev_path ? dmem_dev_path : DMEM_DEV_PATH_DEFAULT);"},{"line_number":179,"context_line":"\tcommand_print(CMD, \" Base Address : 0x%lx\", dmem_dap_base_address);"},{"line_number":180,"context_line":"\tcommand_print(CMD, \" Max APs      : %d\", dmem_dap_max_aps);"},{"line_number":181,"context_line":"\tcommand_print(CMD, \" AP offset    : 0x%08x\", dmem_dap_ap_offset);"},{"line_number":182,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"38cd9aa1_ebe1514f","line":179,"updated":"2022-10-03 22:30:03.000000000","message":"variable is uint64_t. Use:\n command_print(CMD, \" Base Address : 0x%\" PRIx64, dmem_dap_base_address);","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[{"line_number":176,"context_line":"\tcommand_print(CMD, \"dmem (Direct Memory) AP Adapter Configuration:\");"},{"line_number":177,"context_line":"\tcommand_print(CMD, \" Device       : %s\","},{"line_number":178,"context_line":"\t\t\t\t  dmem_dev_path ? dmem_dev_path : DMEM_DEV_PATH_DEFAULT);"},{"line_number":179,"context_line":"\tcommand_print(CMD, \" Base Address : 0x%lx\", dmem_dap_base_address);"},{"line_number":180,"context_line":"\tcommand_print(CMD, \" Max APs      : %d\", dmem_dap_max_aps);"},{"line_number":181,"context_line":"\tcommand_print(CMD, \" AP offset    : 0x%08x\", dmem_dap_ap_offset);"},{"line_number":182,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"2c8a587d_b803896b","line":179,"in_reply_to":"38cd9aa1_ebe1514f","updated":"2022-10-13 21:07:17.000000000","message":"Done","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c8c48d1461c86908b2ca124e04497da1b8da187b","unresolved":true,"context_lines":[{"line_number":177,"context_line":"\tcommand_print(CMD, \" Device       : %s\","},{"line_number":178,"context_line":"\t\t\t\t  dmem_dev_path ? dmem_dev_path : DMEM_DEV_PATH_DEFAULT);"},{"line_number":179,"context_line":"\tcommand_print(CMD, \" Base Address : 0x%lx\", dmem_dap_base_address);"},{"line_number":180,"context_line":"\tcommand_print(CMD, \" Max APs      : %d\", dmem_dap_max_aps);"},{"line_number":181,"context_line":"\tcommand_print(CMD, \" AP offset    : 0x%08x\", dmem_dap_ap_offset);"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"\treturn ERROR_OK;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"15be0f08_2f94605d","line":180,"updated":"2022-10-03 22:30:03.000000000","message":"if you left uint8_t, this should be\n command_print(CMD, \" Max APs      : %\" PRId8, dmem_dap_max_aps);\n\nif you agree to use \u0027unsigned int\u0027\n command_print(CMD, \" Max APs      : %u\", dmem_dap_max_aps);","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[{"line_number":177,"context_line":"\tcommand_print(CMD, \" Device       : %s\","},{"line_number":178,"context_line":"\t\t\t\t  dmem_dev_path ? dmem_dev_path : DMEM_DEV_PATH_DEFAULT);"},{"line_number":179,"context_line":"\tcommand_print(CMD, \" Base Address : 0x%lx\", dmem_dap_base_address);"},{"line_number":180,"context_line":"\tcommand_print(CMD, \" Max APs      : %d\", dmem_dap_max_aps);"},{"line_number":181,"context_line":"\tcommand_print(CMD, \" AP offset    : 0x%08x\", dmem_dap_ap_offset);"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"\treturn ERROR_OK;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"603ca8aa_23c2dab4","line":180,"in_reply_to":"15be0f08_2f94605d","updated":"2022-10-13 21:07:17.000000000","message":"Done","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c8c48d1461c86908b2ca124e04497da1b8da187b","unresolved":true,"context_lines":[{"line_number":178,"context_line":"\t\t\t\t  dmem_dev_path ? dmem_dev_path : DMEM_DEV_PATH_DEFAULT);"},{"line_number":179,"context_line":"\tcommand_print(CMD, \" Base Address : 0x%lx\", dmem_dap_base_address);"},{"line_number":180,"context_line":"\tcommand_print(CMD, \" Max APs      : %d\", dmem_dap_max_aps);"},{"line_number":181,"context_line":"\tcommand_print(CMD, \" AP offset    : 0x%08x\", dmem_dap_ap_offset);"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"\treturn ERROR_OK;"},{"line_number":184,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"24d05b16_887449a3","line":181,"updated":"2022-10-03 22:30:03.000000000","message":"command_print(CMD, \" AP offset    : 0x%08\" PRIx32, dmem_dap_ap_offset);","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[{"line_number":178,"context_line":"\t\t\t\t  dmem_dev_path ? dmem_dev_path : DMEM_DEV_PATH_DEFAULT);"},{"line_number":179,"context_line":"\tcommand_print(CMD, \" Base Address : 0x%lx\", dmem_dap_base_address);"},{"line_number":180,"context_line":"\tcommand_print(CMD, \" Max APs      : %d\", dmem_dap_max_aps);"},{"line_number":181,"context_line":"\tcommand_print(CMD, \" AP offset    : 0x%08x\", dmem_dap_ap_offset);"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"\treturn ERROR_OK;"},{"line_number":184,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"f851c23f_3d093394","line":181,"in_reply_to":"24d05b16_887449a3","updated":"2022-10-13 21:07:17.000000000","message":"Done","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c8c48d1461c86908b2ca124e04497da1b8da187b","unresolved":true,"context_lines":[{"line_number":241,"context_line":"\tlong start_delta, end_delta;"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"\tif (!dmem_dap_base_address) {"},{"line_number":244,"context_line":"\t\tLOG_ERROR(\"dmem DAP Base address NOT set? value is 0\\n\");"},{"line_number":245,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":246,"context_line":"\t}"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"dba248d3_1e97b770","line":244,"updated":"2022-10-03 22:30:03.000000000","message":"remove the question mark and the \u0027\\n\u0027:\n LOG_ERROR(\"dmem DAP Base address NOT set\");\n\nAlso remove the \u0027\\n\u0027 in all the following LOG_XXX","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[{"line_number":241,"context_line":"\tlong start_delta, end_delta;"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"\tif (!dmem_dap_base_address) {"},{"line_number":244,"context_line":"\t\tLOG_ERROR(\"dmem DAP Base address NOT set? value is 0\\n\");"},{"line_number":245,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":246,"context_line":"\t}"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"3aa92854_9af10fef","line":244,"in_reply_to":"dba248d3_1e97b770","updated":"2022-10-13 21:07:17.000000000","message":"Done","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c8c48d1461c86908b2ca124e04497da1b8da187b","unresolved":true,"context_lines":[{"line_number":255,"context_line":""},{"line_number":256,"context_line":"\t/* if start is NOT aligned, then we need to map a page previously */"},{"line_number":257,"context_line":"\tdmem_mapped_start \u003d dmem_dap_base_address;"},{"line_number":258,"context_line":"\tdmem_mapped_size \u003d dmem_total_memory_window_size;"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"\tstart_delta \u003d dmem_dap_base_address % page_size;"},{"line_number":261,"context_line":"\tif (start_delta) {"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"c2dcc212_ba64435d","line":258,"updated":"2022-10-03 22:30:03.000000000","message":"I think would be more readable as:\n dmem_mapped_start \u003d dmem_dap_base_address;\n dmem_mapped_end \u003d dmem_dap_base_address + dmem_total_memory_window_size;\n\n /* mmap() requires page aligned offsets */\n dmem_mapped_start \u003d ALIGN_DOWN(dmem_mapped_start, page_size);\n dmem_mapped_end \u003d ALIGN_UP(dmem_mapped_end, page_size);\n\n dmem_mapped_size \u003d dmem_mapped_end - dmem_mapped_start;\n\n dmem_map_base \u003d mmap(NULL,\n                      dmem_mapped_size,\n                      ...\n                      dmem_mapped_start);","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[{"line_number":255,"context_line":""},{"line_number":256,"context_line":"\t/* if start is NOT aligned, then we need to map a page previously */"},{"line_number":257,"context_line":"\tdmem_mapped_start \u003d dmem_dap_base_address;"},{"line_number":258,"context_line":"\tdmem_mapped_size \u003d dmem_total_memory_window_size;"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"\tstart_delta \u003d dmem_dap_base_address % page_size;"},{"line_number":261,"context_line":"\tif (start_delta) {"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"879b0a2a_822b1874","line":258,"in_reply_to":"c2dcc212_ba64435d","updated":"2022-10-13 21:07:17.000000000","message":"Done","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c8c48d1461c86908b2ca124e04497da1b8da187b","unresolved":true,"context_lines":[{"line_number":272,"context_line":"\t\t\t\t\t\t dmem_mapped_size,"},{"line_number":273,"context_line":"\t\t\t\t\t\t (PROT_READ | PROT_WRITE),"},{"line_number":274,"context_line":"\t\t\t\t\t\t MAP_SHARED, dmem_fd,"},{"line_number":275,"context_line":"\t\t\t\t\t\t dmem_mapped_start \u0026 ~(off_t) (page_size - 1));"},{"line_number":276,"context_line":"\tif (dmem_map_base \u003d\u003d MAP_FAILED) {"},{"line_number":277,"context_line":"\t\tLOG_ERROR(\"Mapping address 0x%lx for 0x%lx bytes failed!\\n\","},{"line_number":278,"context_line":"\t\t\tdmem_mapped_start, dmem_mapped_size);"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"ae7820a1_ec48ab00","line":275,"updated":"2022-10-03 22:30:03.000000000","message":"you have already aligned dmem_mapped_start, no need to align it again\n\nPlus, you are allowed to close(dmem_fd) after mmap(); no need to keep it open and close it later.\nIn this way you can move dmem_fd as local variable of this function.","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[{"line_number":272,"context_line":"\t\t\t\t\t\t dmem_mapped_size,"},{"line_number":273,"context_line":"\t\t\t\t\t\t (PROT_READ | PROT_WRITE),"},{"line_number":274,"context_line":"\t\t\t\t\t\t MAP_SHARED, dmem_fd,"},{"line_number":275,"context_line":"\t\t\t\t\t\t dmem_mapped_start \u0026 ~(off_t) (page_size - 1));"},{"line_number":276,"context_line":"\tif (dmem_map_base \u003d\u003d MAP_FAILED) {"},{"line_number":277,"context_line":"\t\tLOG_ERROR(\"Mapping address 0x%lx for 0x%lx bytes failed!\\n\","},{"line_number":278,"context_line":"\t\t\tdmem_mapped_start, dmem_mapped_size);"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"403186c2_e5811826","line":275,"in_reply_to":"ae7820a1_ec48ab00","updated":"2022-10-13 21:07:17.000000000","message":"Done","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c8c48d1461c86908b2ca124e04497da1b8da187b","unresolved":true,"context_lines":[{"line_number":279,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":280,"context_line":"\t}"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"\tdmem_virt_base_addr \u003d (char *)dmem_map_base + start_delta;"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"\treturn ERROR_OK;"},{"line_number":285,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"ef34db12_35fe71fc","line":282,"updated":"2022-10-03 22:30:03.000000000","message":"I\u0027m not sure the (void *) is needed, but here it should be:\n dmem_virt_base_addr \u003d (void *)((uintptr_t)dmem_map_base + start_delta);","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[{"line_number":279,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":280,"context_line":"\t}"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"\tdmem_virt_base_addr \u003d (char *)dmem_map_base + start_delta;"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"\treturn ERROR_OK;"},{"line_number":285,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"5b690e18_ed52dfca","line":282,"in_reply_to":"ef34db12_35fe71fc","updated":"2022-10-13 21:07:17.000000000","message":"Done","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c8c48d1461c86908b2ca124e04497da1b8da187b","unresolved":true,"context_lines":[{"line_number":289,"context_line":"\tif (munmap(dmem_map_base, dmem_mapped_size) \u003d\u003d -1)"},{"line_number":290,"context_line":"\t\tLOG_ERROR(\"%s: Failed to unmap mapped memory!\\n\", __func__);"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"\tif (dmem_fd !\u003d -1) {"},{"line_number":293,"context_line":"\t\tclose(dmem_fd);"},{"line_number":294,"context_line":"\t\tdmem_fd \u003d -1;"},{"line_number":295,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"81b2660d_47ffae78","line":292,"updated":"2022-10-03 22:30:03.000000000","message":"as said, close() can be moved in dmem_dap_init()","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"5ae0285cd2020b6a6edee34e8a327bbf62b9813c","unresolved":false,"context_lines":[{"line_number":289,"context_line":"\tif (munmap(dmem_map_base, dmem_mapped_size) \u003d\u003d -1)"},{"line_number":290,"context_line":"\t\tLOG_ERROR(\"%s: Failed to unmap mapped memory!\\n\", __func__);"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"\tif (dmem_fd !\u003d -1) {"},{"line_number":293,"context_line":"\t\tclose(dmem_fd);"},{"line_number":294,"context_line":"\t\tdmem_fd \u003d -1;"},{"line_number":295,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"6ab9da02_e632ff77","line":292,"in_reply_to":"81b2660d_47ffae78","updated":"2022-10-13 21:07:17.000000000","message":"Done","commit_id":"0198d7202876744a68b6f3125d8e2cd3c4f39ab9"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"00848b5af264fbeb62b5cc6f113aca4c30b31e6c","unresolved":true,"context_lines":[{"line_number":240,"context_line":"\tlong page_size \u003d sysconf(_SC_PAGESIZE);"},{"line_number":241,"context_line":"\tsize_t dmem_mapped_start, dmem_mapped_end;"},{"line_number":242,"context_line":"\tlong start_delta;"},{"line_number":243,"context_line":"\tint dmem_fd \u003d -1;"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"\tif (!dmem_dap_base_address) {"},{"line_number":246,"context_line":"\t\tLOG_ERROR(\"dmem DAP Base address NOT set? value is 0\");"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"4a9d9fb3_03e24530","line":243,"updated":"2022-10-20 08:13:05.000000000","message":"no need to initialize dmem_fd","commit_id":"89e084f8a0305bbb5b8735fb604fc73edd4cb48e"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"e25672ec1435febaf8d64ba016f1cda40dc75ec2","unresolved":false,"context_lines":[{"line_number":240,"context_line":"\tlong page_size \u003d sysconf(_SC_PAGESIZE);"},{"line_number":241,"context_line":"\tsize_t dmem_mapped_start, dmem_mapped_end;"},{"line_number":242,"context_line":"\tlong start_delta;"},{"line_number":243,"context_line":"\tint dmem_fd \u003d -1;"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"\tif (!dmem_dap_base_address) {"},{"line_number":246,"context_line":"\t\tLOG_ERROR(\"dmem DAP Base address NOT set? value is 0\");"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"16c3df46_50d55a39","line":243,"in_reply_to":"4a9d9fb3_03e24530","updated":"2023-08-08 17:03:09.000000000","message":"Ack - resolved in the next rev","commit_id":"89e084f8a0305bbb5b8735fb604fc73edd4cb48e"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"00848b5af264fbeb62b5cc6f113aca4c30b31e6c","unresolved":true,"context_lines":[{"line_number":272,"context_line":"\tif (dmem_map_base \u003d\u003d MAP_FAILED) {"},{"line_number":273,"context_line":"\t\tLOG_ERROR(\"Mapping address 0x%lx for 0x%lx bytes failed!\","},{"line_number":274,"context_line":"\t\t\tdmem_mapped_start, dmem_mapped_size);"},{"line_number":275,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":276,"context_line":"\t}"},{"line_number":277,"context_line":"\tclose(dmem_fd);"},{"line_number":278,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":5,"id":"d37ad72d_8d405683","line":275,"updated":"2022-10-20 08:13:05.000000000","message":"in case of MAP_FAILED, dmem_fd remains open.\nMove the close() from below to before this if()","commit_id":"89e084f8a0305bbb5b8735fb604fc73edd4cb48e"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"e25672ec1435febaf8d64ba016f1cda40dc75ec2","unresolved":false,"context_lines":[{"line_number":272,"context_line":"\tif (dmem_map_base \u003d\u003d MAP_FAILED) {"},{"line_number":273,"context_line":"\t\tLOG_ERROR(\"Mapping address 0x%lx for 0x%lx bytes failed!\","},{"line_number":274,"context_line":"\t\t\tdmem_mapped_start, dmem_mapped_size);"},{"line_number":275,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":276,"context_line":"\t}"},{"line_number":277,"context_line":"\tclose(dmem_fd);"},{"line_number":278,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":5,"id":"8b445775_c48c4bb4","line":275,"in_reply_to":"d37ad72d_8d405683","updated":"2023-08-08 17:03:09.000000000","message":"Ack - resolved in the next rev","commit_id":"89e084f8a0305bbb5b8735fb604fc73edd4cb48e"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"520005e5450193fcbf44d0c2ff5986de95b60c5f","unresolved":true,"context_lines":[{"line_number":41,"context_line":"\treturn (dmem_dap_ap_offset * ap-\u003eap_num) + reg;"},{"line_number":42,"context_line":"}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"static void dmem_set_ap_reg(struct adiv5_ap *ap, unsigned int reg, unsigned int val)"},{"line_number":45,"context_line":"{"},{"line_number":46,"context_line":"\t*(volatile uint32_t *)((uintptr_t)dmem_virt_base_addr +"},{"line_number":47,"context_line":"\t\t\t\t\t\t   dmem_get_ap_reg_offset(ap, reg)) \u003d val;"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"65dc4296_a6b86ebd","line":44,"updated":"2023-08-10 22:05:24.000000000","message":"should data be uint32_t ?","commit_id":"498ba4f24a1423e10f8734004dcc41b14f785009"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"f98240e1a13f890d1506d4f7397e4e44dcf247af","unresolved":false,"context_lines":[{"line_number":41,"context_line":"\treturn (dmem_dap_ap_offset * ap-\u003eap_num) + reg;"},{"line_number":42,"context_line":"}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"static void dmem_set_ap_reg(struct adiv5_ap *ap, unsigned int reg, unsigned int val)"},{"line_number":45,"context_line":"{"},{"line_number":46,"context_line":"\t*(volatile uint32_t *)((uintptr_t)dmem_virt_base_addr +"},{"line_number":47,"context_line":"\t\t\t\t\t\t   dmem_get_ap_reg_offset(ap, reg)) \u003d val;"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"39a01203_af457204","line":44,"in_reply_to":"65dc4296_a6b86ebd","updated":"2023-08-11 00:56:52.000000000","message":"Ack. yes indeed. thank you for catching this.","commit_id":"498ba4f24a1423e10f8734004dcc41b14f785009"}],"src/jtag/interface.h":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"520005e5450193fcbf44d0c2ff5986de95b60c5f","unresolved":true,"context_lines":[{"line_number":370,"context_line":"extern struct adapter_driver buspirate_adapter_driver;"},{"line_number":371,"context_line":"extern struct adapter_driver cmsis_dap_adapter_driver;"},{"line_number":372,"context_line":"extern struct adapter_driver dummy_adapter_driver;"},{"line_number":373,"context_line":"extern struct adapter_driver dmem_dap_adapter_driver;"},{"line_number":374,"context_line":"extern struct adapter_driver ep93xx_adapter_driver;"},{"line_number":375,"context_line":"extern struct adapter_driver esp_usb_adapter_driver;"},{"line_number":376,"context_line":"extern struct adapter_driver ft232r_adapter_driver;"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"214b845e_3058ee2c","line":373,"updated":"2023-08-10 22:05:24.000000000","message":"this file is in alphabetic order.\nPlease move dmem_da between cmsis_dap and dummy.","commit_id":"498ba4f24a1423e10f8734004dcc41b14f785009"},{"author":{"_account_id":1001678,"name":"Nishanth Menon","email":"nm@ti.com","username":"nmenon"},"change_message_id":"f98240e1a13f890d1506d4f7397e4e44dcf247af","unresolved":false,"context_lines":[{"line_number":370,"context_line":"extern struct adapter_driver buspirate_adapter_driver;"},{"line_number":371,"context_line":"extern struct adapter_driver cmsis_dap_adapter_driver;"},{"line_number":372,"context_line":"extern struct adapter_driver dummy_adapter_driver;"},{"line_number":373,"context_line":"extern struct adapter_driver dmem_dap_adapter_driver;"},{"line_number":374,"context_line":"extern struct adapter_driver ep93xx_adapter_driver;"},{"line_number":375,"context_line":"extern struct adapter_driver esp_usb_adapter_driver;"},{"line_number":376,"context_line":"extern struct adapter_driver ft232r_adapter_driver;"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"ea291326_84f42457","line":373,"in_reply_to":"214b845e_3058ee2c","updated":"2023-08-11 00:56:52.000000000","message":"Ack. Done.","commit_id":"498ba4f24a1423e10f8734004dcc41b14f785009"}]}
