)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1001661,"name":"Daniel Goehring","email":"dgoehrin@os.amperecomputing.com","username":"dgoehrin"},"change_message_id":"b5ad43593f64767d2f623cc89ff3bec66a64ac70","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e65f46d3_9a57e192","updated":"2021-10-08 16:32:15.000000000","message":"Performed code inspection. Some comments...","commit_id":"ca9552bdb58124bcec4c91f66b1cf661cf78bcb8"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"18c1ae0c40f135dbb910a16d1df816b4c0b10073","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9e5ef6e6_b3de6157","updated":"2021-10-13 21:43:19.000000000","message":"Thanks, will send a v2","commit_id":"ca9552bdb58124bcec4c91f66b1cf661cf78bcb8"}],"src/target/arm_adi_v5.c":[{"author":{"_account_id":1001661,"name":"Daniel Goehring","email":"dgoehrin@os.amperecomputing.com","username":"dgoehrin"},"change_message_id":"b5ad43593f64767d2f623cc89ff3bec66a64ac70","unresolved":true,"context_lines":[{"line_number":1880,"context_line":"\telse"},{"line_number":1881,"context_line":"\t\tcommand_print(cmd, \"\\t\\tMEMTYPE system memory not present: dedicated debug bus\");"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"\tuint32_t romentry_low, romentry_high;"},{"line_number":1884,"context_line":"\tunsigned int entry_offset \u003d 0;"},{"line_number":1885,"context_line":"\twhile (max_entries--) {"},{"line_number":1886,"context_line":"\t\tint64_t romentry;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"d593edaa_b8f0edd7","line":1883,"range":{"start_line":1883,"start_character":1,"end_line":1883,"end_character":38},"updated":"2021-10-08 16:32:15.000000000","message":"May want to move the variable declaration to the line before they are used. Similar to function dap_rom_display().","commit_id":"ca9552bdb58124bcec4c91f66b1cf661cf78bcb8"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"18c1ae0c40f135dbb910a16d1df816b4c0b10073","unresolved":false,"context_lines":[{"line_number":1880,"context_line":"\telse"},{"line_number":1881,"context_line":"\t\tcommand_print(cmd, \"\\t\\tMEMTYPE system memory not present: dedicated debug bus\");"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"\tuint32_t romentry_low, romentry_high;"},{"line_number":1884,"context_line":"\tunsigned int entry_offset \u003d 0;"},{"line_number":1885,"context_line":"\twhile (max_entries--) {"},{"line_number":1886,"context_line":"\t\tint64_t romentry;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"836f9427_c33a5659","line":1883,"range":{"start_line":1883,"start_character":1,"end_line":1883,"end_character":38},"in_reply_to":"d593edaa_b8f0edd7","updated":"2021-10-13 21:43:19.000000000","message":"Ack","commit_id":"ca9552bdb58124bcec4c91f66b1cf661cf78bcb8"},{"author":{"_account_id":1001661,"name":"Daniel Goehring","email":"dgoehrin@os.amperecomputing.com","username":"dgoehrin"},"change_message_id":"b5ad43593f64767d2f623cc89ff3bec66a64ac70","unresolved":true,"context_lines":[{"line_number":1887,"context_line":"\t\tunsigned int saved_entry_offset \u003d entry_offset;"},{"line_number":1888,"context_line":""},{"line_number":1889,"context_line":"\t\tif (width \u003d\u003d 64) {"},{"line_number":1890,"context_line":"\t\t\tretval \u003d dap_queue_ap_read(ap, entry_offset, \u0026romentry_high);"},{"line_number":1891,"context_line":"\t\t\tif (retval !\u003d ERROR_OK)"},{"line_number":1892,"context_line":"\t\t\t\treturn retval;"},{"line_number":1893,"context_line":"\t\t\tentry_offset +\u003d 4;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"72a555c4_263ac618","line":1890,"range":{"start_line":1890,"start_character":57,"end_line":1890,"end_character":62},"updated":"2021-10-08 16:32:15.000000000","message":"To confirm, for little endian the \"low\" 32-bits comes first, right?","commit_id":"ca9552bdb58124bcec4c91f66b1cf661cf78bcb8"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"18c1ae0c40f135dbb910a16d1df816b4c0b10073","unresolved":false,"context_lines":[{"line_number":1887,"context_line":"\t\tunsigned int saved_entry_offset \u003d entry_offset;"},{"line_number":1888,"context_line":""},{"line_number":1889,"context_line":"\t\tif (width \u003d\u003d 64) {"},{"line_number":1890,"context_line":"\t\t\tretval \u003d dap_queue_ap_read(ap, entry_offset, \u0026romentry_high);"},{"line_number":1891,"context_line":"\t\t\tif (retval !\u003d ERROR_OK)"},{"line_number":1892,"context_line":"\t\t\t\treturn retval;"},{"line_number":1893,"context_line":"\t\t\tentry_offset +\u003d 4;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"5da35eab_43a176aa","line":1890,"range":{"start_line":1890,"start_character":57,"end_line":1890,"end_character":62},"in_reply_to":"72a555c4_263ac618","updated":"2021-10-13 21:43:19.000000000","message":"Yes, low part should be first!","commit_id":"ca9552bdb58124bcec4c91f66b1cf661cf78bcb8"},{"author":{"_account_id":1001661,"name":"Daniel Goehring","email":"dgoehrin@os.amperecomputing.com","username":"dgoehrin"},"change_message_id":"b5ad43593f64767d2f623cc89ff3bec66a64ac70","unresolved":true,"context_lines":[{"line_number":1892,"context_line":"\t\t\t\treturn retval;"},{"line_number":1893,"context_line":"\t\t\tentry_offset +\u003d 4;"},{"line_number":1894,"context_line":"\t\t}"},{"line_number":1895,"context_line":"\t\tretval \u003d dap_queue_ap_read(ap, entry_offset, \u0026romentry_low);"},{"line_number":1896,"context_line":"\t\tif (retval !\u003d ERROR_OK)"},{"line_number":1897,"context_line":"\t\t\treturn retval;"},{"line_number":1898,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":1,"id":"dd4d1fa8_35a53ea6","line":1895,"range":{"start_line":1895,"start_character":56,"end_line":1895,"end_character":60},"updated":"2021-10-08 16:32:15.000000000","message":"I think the \"romentry_low\" read needs to happen before the \"romentry_high\" read. Similar to how it\u0027s done in function dap_rom_display()","commit_id":"ca9552bdb58124bcec4c91f66b1cf661cf78bcb8"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"18c1ae0c40f135dbb910a16d1df816b4c0b10073","unresolved":false,"context_lines":[{"line_number":1892,"context_line":"\t\t\t\treturn retval;"},{"line_number":1893,"context_line":"\t\t\tentry_offset +\u003d 4;"},{"line_number":1894,"context_line":"\t\t}"},{"line_number":1895,"context_line":"\t\tretval \u003d dap_queue_ap_read(ap, entry_offset, \u0026romentry_low);"},{"line_number":1896,"context_line":"\t\tif (retval !\u003d ERROR_OK)"},{"line_number":1897,"context_line":"\t\t\treturn retval;"},{"line_number":1898,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":1,"id":"aade9213_6426a813","line":1895,"range":{"start_line":1895,"start_character":56,"end_line":1895,"end_character":60},"in_reply_to":"dd4d1fa8_35a53ea6","updated":"2021-10-13 21:43:19.000000000","message":"Ack","commit_id":"ca9552bdb58124bcec4c91f66b1cf661cf78bcb8"},{"author":{"_account_id":1001661,"name":"Daniel Goehring","email":"dgoehrin@os.amperecomputing.com","username":"dgoehrin"},"change_message_id":"b5ad43593f64767d2f623cc89ff3bec66a64ac70","unresolved":true,"context_lines":[{"line_number":1902,"context_line":""},{"line_number":1903,"context_line":"\t\tentry_offset +\u003d 4;"},{"line_number":1904,"context_line":"\t\tif (width \u003d\u003d 64) {"},{"line_number":1905,"context_line":"\t\t\tromentry \u003d (((uint64_t)romentry_high) \u003c\u003c 32) | romentry_low;"},{"line_number":1906,"context_line":"\t\t\tcommand_print(cmd, \"\\t%sROMTABLE[0x%x] \u003d 0x%\" PRIx64,"},{"line_number":1907,"context_line":"\t\t\t\t\ttabs, saved_entry_offset, romentry);"},{"line_number":1908,"context_line":"\t\t} else {"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"c9a43407_0919b695","line":1905,"range":{"start_line":1905,"start_character":13,"end_line":1905,"end_character":14},"updated":"2021-10-08 16:32:15.000000000","message":"(int64_t) typecast ?\nex: romentry \u003d (int64_t)((((uint64_t)romentry_high) \u003c\u003c 32) | romentry_low);","commit_id":"ca9552bdb58124bcec4c91f66b1cf661cf78bcb8"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"18c1ae0c40f135dbb910a16d1df816b4c0b10073","unresolved":false,"context_lines":[{"line_number":1902,"context_line":""},{"line_number":1903,"context_line":"\t\tentry_offset +\u003d 4;"},{"line_number":1904,"context_line":"\t\tif (width \u003d\u003d 64) {"},{"line_number":1905,"context_line":"\t\t\tromentry \u003d (((uint64_t)romentry_high) \u003c\u003c 32) | romentry_low;"},{"line_number":1906,"context_line":"\t\t\tcommand_print(cmd, \"\\t%sROMTABLE[0x%x] \u003d 0x%\" PRIx64,"},{"line_number":1907,"context_line":"\t\t\t\t\ttabs, saved_entry_offset, romentry);"},{"line_number":1908,"context_line":"\t\t} else {"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"2d607e70_23088bc3","line":1905,"range":{"start_line":1905,"start_character":13,"end_line":1905,"end_character":14},"in_reply_to":"c9a43407_0919b695","updated":"2021-10-13 21:43:19.000000000","message":"No need, we are in 64 bite arithmetics","commit_id":"ca9552bdb58124bcec4c91f66b1cf661cf78bcb8"},{"author":{"_account_id":1001661,"name":"Daniel Goehring","email":"dgoehrin@os.amperecomputing.com","username":"dgoehrin"},"change_message_id":"b5ad43593f64767d2f623cc89ff3bec66a64ac70","unresolved":true,"context_lines":[{"line_number":1906,"context_line":"\t\t\tcommand_print(cmd, \"\\t%sROMTABLE[0x%x] \u003d 0x%\" PRIx64,"},{"line_number":1907,"context_line":"\t\t\t\t\ttabs, saved_entry_offset, romentry);"},{"line_number":1908,"context_line":"\t\t} else {"},{"line_number":1909,"context_line":"\t\t\tromentry \u003d (int32_t)romentry_low;"},{"line_number":1910,"context_line":"\t\t\tcommand_print(cmd, \"\\t%sROMTABLE[0x%x] \u003d 0x%\" PRIx32,"},{"line_number":1911,"context_line":"\t\t\t\t\ttabs, saved_entry_offset, romentry_low);"},{"line_number":1912,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"6a244139_a7354ec2","line":1909,"range":{"start_line":1909,"start_character":14,"end_line":1909,"end_character":23},"updated":"2021-10-08 16:32:15.000000000","message":"(int64_t) typecast?","commit_id":"ca9552bdb58124bcec4c91f66b1cf661cf78bcb8"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"18c1ae0c40f135dbb910a16d1df816b4c0b10073","unresolved":false,"context_lines":[{"line_number":1906,"context_line":"\t\t\tcommand_print(cmd, \"\\t%sROMTABLE[0x%x] \u003d 0x%\" PRIx64,"},{"line_number":1907,"context_line":"\t\t\t\t\ttabs, saved_entry_offset, romentry);"},{"line_number":1908,"context_line":"\t\t} else {"},{"line_number":1909,"context_line":"\t\t\tromentry \u003d (int32_t)romentry_low;"},{"line_number":1910,"context_line":"\t\t\tcommand_print(cmd, \"\\t%sROMTABLE[0x%x] \u003d 0x%\" PRIx32,"},{"line_number":1911,"context_line":"\t\t\t\t\ttabs, saved_entry_offset, romentry_low);"},{"line_number":1912,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"2774b3e1_a4cbfdab","line":1909,"range":{"start_line":1909,"start_character":14,"end_line":1909,"end_character":23},"in_reply_to":"6a244139_a7354ec2","updated":"2021-10-13 21:43:19.000000000","message":"No, the uint32_t romentry_low is casted to signed int32_t. Then storing it in a 64 bit variable does sign extension.","commit_id":"ca9552bdb58124bcec4c91f66b1cf661cf78bcb8"},{"author":{"_account_id":1001661,"name":"Daniel Goehring","email":"dgoehrin@os.amperecomputing.com","username":"dgoehrin"},"change_message_id":"b5ad43593f64767d2f623cc89ff3bec66a64ac70","unresolved":true,"context_lines":[{"line_number":1919,"context_line":"\t\t\t/* Recurse */"},{"line_number":1920,"context_line":"\t\t\tromentry \u0026\u003d ~0x0fffULL;"},{"line_number":1921,"context_line":"\t\t\tromentry +\u003d ap-\u003eap_num;"},{"line_number":1922,"context_line":"\t\t\tstruct adiv5_ap *next_ap \u003d dap_get_ap(ap-\u003edap, romentry);"},{"line_number":1923,"context_line":"\t\t\tif (!next_ap) {"},{"line_number":1924,"context_line":"\t\t\t\tcommand_print(cmd, \"\\t\\tWrong AP # 0x%\" PRIx64, romentry);"},{"line_number":1925,"context_line":"\t\t\t} else {"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"d9c51670_332808ab","line":1922,"range":{"start_line":1922,"start_character":50,"end_line":1922,"end_character":58},"updated":"2021-10-08 16:32:15.000000000","message":"dap_get_ap() expects a uint64_t for the ap_num and romentry is int64_t. May want to declare \"uint64_t ap_num \u003d ap-\u003eap_num + romentry;\" and pass in ap_num. Or add a typecast (uint64_t)romentry.","commit_id":"ca9552bdb58124bcec4c91f66b1cf661cf78bcb8"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"18c1ae0c40f135dbb910a16d1df816b4c0b10073","unresolved":false,"context_lines":[{"line_number":1919,"context_line":"\t\t\t/* Recurse */"},{"line_number":1920,"context_line":"\t\t\tromentry \u0026\u003d ~0x0fffULL;"},{"line_number":1921,"context_line":"\t\t\tromentry +\u003d ap-\u003eap_num;"},{"line_number":1922,"context_line":"\t\t\tstruct adiv5_ap *next_ap \u003d dap_get_ap(ap-\u003edap, romentry);"},{"line_number":1923,"context_line":"\t\t\tif (!next_ap) {"},{"line_number":1924,"context_line":"\t\t\t\tcommand_print(cmd, \"\\t\\tWrong AP # 0x%\" PRIx64, romentry);"},{"line_number":1925,"context_line":"\t\t\t} else {"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"165879ca_6a68f954","line":1922,"range":{"start_line":1922,"start_character":50,"end_line":1922,"end_character":58},"in_reply_to":"d9c51670_332808ab","updated":"2021-10-13 21:43:19.000000000","message":"Ack","commit_id":"ca9552bdb58124bcec4c91f66b1cf661cf78bcb8"}]}
