)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1001651,"name":"Florian Fainelli","email":"f.fainelli@gmail.com","username":"ffainelli"},"change_message_id":"4552dc006c26bc863eea27a415f4773107960633","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e4c539e8_12a78cf3","updated":"2021-10-20 21:59:44.000000000","message":"Antonio, are you happy with this version?","commit_id":"78701ef37a2ddcfd689b4806578a8cda190a923c"},{"author":{"_account_id":1001651,"name":"Florian Fainelli","email":"f.fainelli@gmail.com","username":"ffainelli"},"change_message_id":"44b02524acc256716c8def46aeb920f062dcf139","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f7253632_cf68ed81","in_reply_to":"e4c539e8_12a78cf3","updated":"2022-04-26 22:01:13.000000000","message":"How do we move forward with these changes?","commit_id":"78701ef37a2ddcfd689b4806578a8cda190a923c"}],"src/target/arm_dpm.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"780a8ee36de0b6fc9215d6f78016672425feb653","unresolved":false,"context_lines":[{"line_number":86,"context_line":"\t\treturn retval;"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"\tLOG_DEBUG(\"MRRC p%d, %d, r0, r1, c%d\", cpnum,"},{"line_number":89,"context_line":"\t\t (int) op, (int) CRm);"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"\t/* read coprocessor register into R0, R1; return via DCC */"},{"line_number":92,"context_line":"\tretval \u003d dpm-\u003einstr_read_data_r0_64(dpm,"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"0ed113e2_a7513867","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":24},"updated":"2020-07-30 21:25:35.000000000","message":"Can you remove the space between cast and variable?\nActually we should use PRId32 instead of %d, but in the specific case of assembly coding the PRId32 makes the format string unreadable. I think this is the only case where the cast should/could be allowed.","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"780a8ee36de0b6fc9215d6f78016672425feb653","unresolved":false,"context_lines":[{"line_number":134,"context_line":"\t\treturn retval;"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"\tLOG_DEBUG(\"MCRR p%d, %d, r0, r1, c%d\", cpnum,"},{"line_number":137,"context_line":"\t\t(int) op, (int) CRm);"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"\t/* read DCC into r0, r1; then write coprocessor register from R0, R1 */"},{"line_number":140,"context_line":"\tretval \u003d dpm-\u003einstr_write_data_r0_64(dpm,"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"0ed113e2_0755a452","line":137,"range":{"start_line":137,"start_character":0,"end_line":137,"end_character":23},"updated":"2020-07-30 21:25:35.000000000","message":"Same here, remove the space between cast and variable?","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c8a728706089f592ab36015871a6ce1ea4a9e921","unresolved":false,"context_lines":[{"line_number":75,"context_line":"\t\treturn retval;"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"\tLOG_DEBUG(\"MRRC p%d, %d, r0, r1, c%d\", cpnum,"},{"line_number":78,"context_line":"\t\t (int)op, (int)crm);"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"\t/* read coprocessor register into R0, R1; return via DCC */"},{"line_number":81,"context_line":"\tretval \u003d dpm-\u003einstr_read_data_r0_r1(dpm,"}],"source_content_type":"text/x-csrc","patch_set":7,"id":"048252d5_178dfbef","line":78,"updated":"2023-10-03 11:58:22.000000000","message":"this should be:\nLOG_DEBUG(\"MRRC p%d, %\" PRId32 \", r0, r1, c%\" PRId32, cpnum, op, crm);\nbut I see that this file needs to be fixed in many places; let\u0027s keep this as is and address the fix later","commit_id":"1aeed41a5179fef619212fd43df146f067ed92de"}],"src/target/armv4_5.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"780a8ee36de0b6fc9215d6f78016672425feb653","unresolved":false,"context_lines":[{"line_number":1143,"context_line":"\tif (retval !\u003d JIM_OK)"},{"line_number":1144,"context_line":"\t\treturn retval;"},{"line_number":1145,"context_line":"\tif (l \u0026 ~0xf) {"},{"line_number":1146,"context_line":"\t\tLOG_ERROR(\"%s: %s %d out of range\", __func__,"},{"line_number":1147,"context_line":"\t\t\t \"coprocessor\", (int) l);"},{"line_number":1148,"context_line":"\t\treturn JIM_ERR;"},{"line_number":1149,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"0ed113e2_c74ebcc4","line":1146,"range":{"start_line":1146,"start_character":20,"end_line":1146,"end_character":22},"updated":"2020-07-30 21:25:35.000000000","message":"variable l is of type long. Remove the cast to int and use %ld","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"780a8ee36de0b6fc9215d6f78016672425feb653","unresolved":false,"context_lines":[{"line_number":1153,"context_line":"\tif (retval !\u003d JIM_OK)"},{"line_number":1154,"context_line":"\t\treturn retval;"},{"line_number":1155,"context_line":"\tif (l \u0026 ~0xf) {"},{"line_number":1156,"context_line":"\t\tLOG_ERROR(\"%s: %s %d out of range\", __func__,"},{"line_number":1157,"context_line":"\t\t\t\"opcode\", (int) l);"},{"line_number":1158,"context_line":"\t\treturn JIM_ERR;"},{"line_number":1159,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"0ed113e2_67c3500b","line":1156,"range":{"start_line":1156,"start_character":20,"end_line":1156,"end_character":23},"updated":"2020-07-30 21:25:35.000000000","message":"same here","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"},{"author":{"_account_id":1001651,"name":"Florian Fainelli","email":"f.fainelli@gmail.com","username":"ffainelli"},"change_message_id":"32f4c0a4f935a5a2a56e5a2b3072aab704fa2140","unresolved":false,"context_lines":[{"line_number":1153,"context_line":"\tif (retval !\u003d JIM_OK)"},{"line_number":1154,"context_line":"\t\treturn retval;"},{"line_number":1155,"context_line":"\tif (l \u0026 ~0xf) {"},{"line_number":1156,"context_line":"\t\tLOG_ERROR(\"%s: %s %d out of range\", __func__,"},{"line_number":1157,"context_line":"\t\t\t\"opcode\", (int) l);"},{"line_number":1158,"context_line":"\t\treturn JIM_ERR;"},{"line_number":1159,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"4eceab4c_cfd6e1c8","line":1156,"range":{"start_line":1156,"start_character":20,"end_line":1156,"end_character":23},"in_reply_to":"0ed113e2_67c3500b","updated":"2021-07-22 03:17:37.000000000","message":"Done","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"780a8ee36de0b6fc9215d6f78016672425feb653","unresolved":false,"context_lines":[{"line_number":1163,"context_line":"\tif (retval !\u003d JIM_OK)"},{"line_number":1164,"context_line":"\t\treturn retval;"},{"line_number":1165,"context_line":"\tif (l \u0026 ~0xf) {"},{"line_number":1166,"context_line":"\t\tLOG_ERROR(\"%s: %s %d out of range\", __func__,"},{"line_number":1167,"context_line":"\t\t\t\"CRm\", (int) l);"},{"line_number":1168,"context_line":"\t\treturn JIM_ERR;"},{"line_number":1169,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"0ed113e2_87c8b426","line":1166,"range":{"start_line":1166,"start_character":20,"end_line":1166,"end_character":22},"updated":"2020-07-30 21:25:35.000000000","message":"and here","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"},{"author":{"_account_id":1001651,"name":"Florian Fainelli","email":"f.fainelli@gmail.com","username":"ffainelli"},"change_message_id":"32f4c0a4f935a5a2a56e5a2b3072aab704fa2140","unresolved":false,"context_lines":[{"line_number":1163,"context_line":"\tif (retval !\u003d JIM_OK)"},{"line_number":1164,"context_line":"\t\treturn retval;"},{"line_number":1165,"context_line":"\tif (l \u0026 ~0xf) {"},{"line_number":1166,"context_line":"\t\tLOG_ERROR(\"%s: %s %d out of range\", __func__,"},{"line_number":1167,"context_line":"\t\t\t\"CRm\", (int) l);"},{"line_number":1168,"context_line":"\t\treturn JIM_ERR;"},{"line_number":1169,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"4eceab4c_2fd205d6","line":1166,"range":{"start_line":1166,"start_character":20,"end_line":1166,"end_character":22},"in_reply_to":"0ed113e2_87c8b426","updated":"2021-07-22 03:17:37.000000000","message":"Done","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"b612e24d72cfd05cb2efde409c015c1368d3397f","unresolved":false,"context_lines":[{"line_number":1170,"context_line":"\tCRm \u003d l;"},{"line_number":1171,"context_line":""},{"line_number":1172,"context_line":"\tvalue \u003d 0;"},{"line_number":1173,"context_line":"\tif (argc \u003d\u003d 5) {"},{"line_number":1174,"context_line":"\t\tretval \u003d Jim_GetLong(interp, argv[4], \u0026l);"},{"line_number":1175,"context_line":"\t\tif (retval !\u003d JIM_OK)"},{"line_number":1176,"context_line":"\t\t\treturn retval;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"8e7fc396_6b8c613b","line":1173,"updated":"2019-11-02 23:11:25.000000000","message":"this function is similar to the previous jimmcrmrc(). In this same position, at line 1069, there are two \"FIXME\" in a comment.\nIn this jimmcrrmrrc() you do not fix any of them, so you should at least replicate here a similar comment.","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"},{"author":{"_account_id":1001651,"name":"Florian Fainelli","email":"f.fainelli@gmail.com","username":"ffainelli"},"change_message_id":"9ec7b2e39a48318cd599a138b5fca47a54739ace","unresolved":false,"context_lines":[{"line_number":1170,"context_line":"\tCRm \u003d l;"},{"line_number":1171,"context_line":""},{"line_number":1172,"context_line":"\tvalue \u003d 0;"},{"line_number":1173,"context_line":"\tif (argc \u003d\u003d 5) {"},{"line_number":1174,"context_line":"\t\tretval \u003d Jim_GetLong(interp, argv[4], \u0026l);"},{"line_number":1175,"context_line":"\t\tif (retval !\u003d JIM_OK)"},{"line_number":1176,"context_line":"\t\t\treturn retval;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"0ed113e2_8769941f","line":1173,"in_reply_to":"8e7fc396_6b8c613b","updated":"2020-07-30 20:45:57.000000000","message":"Certainly, will do.","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"},{"author":{"_account_id":1001651,"name":"Florian Fainelli","email":"f.fainelli@gmail.com","username":"ffainelli"},"change_message_id":"32f4c0a4f935a5a2a56e5a2b3072aab704fa2140","unresolved":false,"context_lines":[{"line_number":1170,"context_line":"\tCRm \u003d l;"},{"line_number":1171,"context_line":""},{"line_number":1172,"context_line":"\tvalue \u003d 0;"},{"line_number":1173,"context_line":"\tif (argc \u003d\u003d 5) {"},{"line_number":1174,"context_line":"\t\tretval \u003d Jim_GetLong(interp, argv[4], \u0026l);"},{"line_number":1175,"context_line":"\t\tif (retval !\u003d JIM_OK)"},{"line_number":1176,"context_line":"\t\t\treturn retval;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"4eceab4c_0fcdc934","line":1173,"in_reply_to":"8e7fc396_6b8c613b","updated":"2021-07-22 03:17:37.000000000","message":"Done","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"}],"src/target/cortex_a.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"b612e24d72cfd05cb2efde409c015c1368d3397f","unresolved":false,"context_lines":[{"line_number":473,"context_line":"\tuint32_t dscr \u003d DSCR_INSTR_COMP;"},{"line_number":474,"context_line":"\tint retval;"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"\tretval \u003d cortex_a_instr_write_data_rt_dcc(dpm, 0, data \u0026 0xffffffff);"},{"line_number":477,"context_line":"\tif (retval !\u003d ERROR_OK)"},{"line_number":478,"context_line":"\t\treturn retval;"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"8e7fc396_8b91bd54","line":476,"updated":"2019-11-02 23:11:25.000000000","message":"\"data\" is 64 bit while the mask is 32 bit.\nThe compile should be smart enough, plus the parameter of the function cortex_a_instr_write_data_rt_dcc() is a uint32_t.\nIn these conditions you could completely omit the mask.\nAnyway, to keep the code easier to read, please keep the mask but promote it as 64 bit by writing \"0xffffffffUL\".","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"b90eb3cad94d52823701ee6cb11e95661c442747","unresolved":false,"context_lines":[{"line_number":473,"context_line":"\tuint32_t dscr \u003d DSCR_INSTR_COMP;"},{"line_number":474,"context_line":"\tint retval;"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"\tretval \u003d cortex_a_instr_write_data_rt_dcc(dpm, 0, data \u0026 0xffffffff);"},{"line_number":477,"context_line":"\tif (retval !\u003d ERROR_OK)"},{"line_number":478,"context_line":"\t\treturn retval;"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"8e7fc396_eb7f1110","line":476,"in_reply_to":"8e7fc396_8b91bd54","updated":"2019-11-03 09:04:57.000000000","message":"Ooops, to get a 64 bit constant on both 32 and 64 bit host the correct way is with \"ULL\", so \"0xffffffffULL\". Sorry for the mistake.","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"},{"author":{"_account_id":1001651,"name":"Florian Fainelli","email":"f.fainelli@gmail.com","username":"ffainelli"},"change_message_id":"32f4c0a4f935a5a2a56e5a2b3072aab704fa2140","unresolved":false,"context_lines":[{"line_number":473,"context_line":"\tuint32_t dscr \u003d DSCR_INSTR_COMP;"},{"line_number":474,"context_line":"\tint retval;"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"\tretval \u003d cortex_a_instr_write_data_rt_dcc(dpm, 0, data \u0026 0xffffffff);"},{"line_number":477,"context_line":"\tif (retval !\u003d ERROR_OK)"},{"line_number":478,"context_line":"\t\treturn retval;"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"4eceab4c_efd39dd5","line":476,"in_reply_to":"8e7fc396_eb7f1110","updated":"2021-07-22 03:17:37.000000000","message":"Done","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"b612e24d72cfd05cb2efde409c015c1368d3397f","unresolved":false,"context_lines":[{"line_number":653,"context_line":""},{"line_number":654,"context_line":"\tdpm-\u003einstr_write_data_dcc \u003d cortex_a_instr_write_data_dcc;"},{"line_number":655,"context_line":"\tdpm-\u003einstr_write_data_r0 \u003d cortex_a_instr_write_data_r0;"},{"line_number":656,"context_line":"\tdpm-\u003einstr_write_data_r0_64 \u003d cortex_a_instr_write_data_r0_64;"},{"line_number":657,"context_line":"\tdpm-\u003einstr_cpsr_sync \u003d cortex_a_instr_cpsr_sync;"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"\tdpm-\u003einstr_read_data_dcc \u003d cortex_a_instr_read_data_dcc;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"8e7fc396_2b866919","line":656,"range":{"start_line":656,"start_character":6,"end_line":656,"end_character":28},"updated":"2019-11-02 23:11:25.000000000","message":"here and below in line 661 you are \"abusing\" of an API for armv8 (that pass a 64 bits in the 64 bit-wide R0) to pass on armv7 a 64 bit value in R0 and R1.\nThe name of this API was selected to discriminate this 64 bit version from the existing 32 bit instr_write_data_r0.\nEither you properly comment in src/target/arm_dpm.h that the functions instr_read/write_data_r0_64 are used in armv7 to pass a 64 bit value in R0 and R1, or you add a new API specific for armv7 e.g. instr_read/write_data64_r0_r1.","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"780a8ee36de0b6fc9215d6f78016672425feb653","unresolved":false,"context_lines":[{"line_number":653,"context_line":""},{"line_number":654,"context_line":"\tdpm-\u003einstr_write_data_dcc \u003d cortex_a_instr_write_data_dcc;"},{"line_number":655,"context_line":"\tdpm-\u003einstr_write_data_r0 \u003d cortex_a_instr_write_data_r0;"},{"line_number":656,"context_line":"\tdpm-\u003einstr_write_data_r0_64 \u003d cortex_a_instr_write_data_r0_64;"},{"line_number":657,"context_line":"\tdpm-\u003einstr_cpsr_sync \u003d cortex_a_instr_cpsr_sync;"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"\tdpm-\u003einstr_read_data_dcc \u003d cortex_a_instr_read_data_dcc;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"0ed113e2_e757405b","line":656,"range":{"start_line":656,"start_character":6,"end_line":656,"end_character":28},"in_reply_to":"0ed113e2_275ea87c","updated":"2020-07-30 21:25:35.000000000","message":"I would definitively prefer instr_{read,write}_data64_r0_r1\nThanks!","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"},{"author":{"_account_id":1001651,"name":"Florian Fainelli","email":"f.fainelli@gmail.com","username":"ffainelli"},"change_message_id":"32f4c0a4f935a5a2a56e5a2b3072aab704fa2140","unresolved":false,"context_lines":[{"line_number":653,"context_line":""},{"line_number":654,"context_line":"\tdpm-\u003einstr_write_data_dcc \u003d cortex_a_instr_write_data_dcc;"},{"line_number":655,"context_line":"\tdpm-\u003einstr_write_data_r0 \u003d cortex_a_instr_write_data_r0;"},{"line_number":656,"context_line":"\tdpm-\u003einstr_write_data_r0_64 \u003d cortex_a_instr_write_data_r0_64;"},{"line_number":657,"context_line":"\tdpm-\u003einstr_cpsr_sync \u003d cortex_a_instr_cpsr_sync;"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"\tdpm-\u003einstr_read_data_dcc \u003d cortex_a_instr_read_data_dcc;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"4eceab4c_8fe0d994","line":656,"range":{"start_line":656,"start_character":6,"end_line":656,"end_character":28},"in_reply_to":"0ed113e2_e757405b","updated":"2021-07-22 03:17:37.000000000","message":"Done","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"},{"author":{"_account_id":1001651,"name":"Florian Fainelli","email":"f.fainelli@gmail.com","username":"ffainelli"},"change_message_id":"9ec7b2e39a48318cd599a138b5fca47a54739ace","unresolved":false,"context_lines":[{"line_number":653,"context_line":""},{"line_number":654,"context_line":"\tdpm-\u003einstr_write_data_dcc \u003d cortex_a_instr_write_data_dcc;"},{"line_number":655,"context_line":"\tdpm-\u003einstr_write_data_r0 \u003d cortex_a_instr_write_data_r0;"},{"line_number":656,"context_line":"\tdpm-\u003einstr_write_data_r0_64 \u003d cortex_a_instr_write_data_r0_64;"},{"line_number":657,"context_line":"\tdpm-\u003einstr_cpsr_sync \u003d cortex_a_instr_cpsr_sync;"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"\tdpm-\u003einstr_read_data_dcc \u003d cortex_a_instr_read_data_dcc;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"0ed113e2_275ea87c","line":656,"range":{"start_line":656,"start_character":6,"end_line":656,"end_character":28},"in_reply_to":"8e7fc396_2b866919","updated":"2020-07-30 20:45:57.000000000","message":"Which of these two solutions do you prefer? It might be clearer to use instr_{read,write}_data64_r0_r1 since the function says what it uses.","commit_id":"ac1bcc2c8ec8a4ca6d75b2cbe853155a1425067d"}]}
