)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"910bfcf7f152f640ab7d2992beaeaa402faee01f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f72d4fb1_18e535bf","updated":"2023-06-03 19:46:38.000000000","message":"Thanks for your feedback!","commit_id":"2e39cf4dfcf3d76ab6a698ef6294257c0e83fd34"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"da6c82e7bb1fe828fe0efc58f48fe1b2aac178f3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"97ce02b7_98d34203","updated":"2023-06-25 00:33:37.000000000","message":"minor conflict, it needs rebase after https://review.openocd.org/c/7728/7","commit_id":"012a80e20f349c588df7825d48d1de29aa7c1f0d"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"20b8d19e418271cd05d77729298bc885b4e6020a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6b9096a8_7c540d8c","updated":"2023-06-25 20:57:43.000000000","message":"thanks!","commit_id":"ec49b838c00befd0bc4bb4887db970fabb760dbb"}],"doc/openocd.texi":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"5467fb4ace837e8cc1edced98bb6435e9a3bec3f","unresolved":true,"context_lines":[{"line_number":8512,"context_line":""},{"line_number":8513,"context_line":"@deffn {Command} {virtex2 set_instr_codes} device.tap cfg_out cfg_in jprogb jstart jshutdown [user1 [user2 [user3 [user4]]]]"},{"line_number":8514,"context_line":"Change values for boundary scan instructions. Default are values for Virtex 2 devices Virtex 4/5/6 are using different values."},{"line_number":8515,"context_line":"@end deffn"},{"line_number":8516,"context_line":"@var{device.tap} is the name of the tap."},{"line_number":8517,"context_line":"@var{cfg_out} is the value used to select CFG_OUT instruction."},{"line_number":8518,"context_line":"@var{cfg_in} is the value used to select CFG_IN instruction."}],"source_content_type":"text/x-texinfo","patch_set":1,"id":"ab6533f7_e9ab7686","line":8515,"updated":"2023-05-27 20:53:55.000000000","message":"the whole command description should be between\n@deffn {Command} {...\nand\n@end deffn\nbut I see some part of description after this line","commit_id":"2e39cf4dfcf3d76ab6a698ef6294257c0e83fd34"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"d31b419ab183acb2537619e98fc46c11ca113cac","unresolved":false,"context_lines":[{"line_number":8512,"context_line":""},{"line_number":8513,"context_line":"@deffn {Command} {virtex2 set_instr_codes} device.tap cfg_out cfg_in jprogb jstart jshutdown [user1 [user2 [user3 [user4]]]]"},{"line_number":8514,"context_line":"Change values for boundary scan instructions. Default are values for Virtex 2 devices Virtex 4/5/6 are using different values."},{"line_number":8515,"context_line":"@end deffn"},{"line_number":8516,"context_line":"@var{device.tap} is the name of the tap."},{"line_number":8517,"context_line":"@var{cfg_out} is the value used to select CFG_OUT instruction."},{"line_number":8518,"context_line":"@var{cfg_in} is the value used to select CFG_IN instruction."}],"source_content_type":"text/x-texinfo","patch_set":1,"id":"f007e727_6f667906","line":8515,"in_reply_to":"ab6533f7_e9ab7686","updated":"2023-06-09 21:52:52.000000000","message":"Done","commit_id":"2e39cf4dfcf3d76ab6a698ef6294257c0e83fd34"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"5467fb4ace837e8cc1edced98bb6435e9a3bec3f","unresolved":true,"context_lines":[{"line_number":8523,"context_line":""},{"line_number":8524,"context_line":"@deffn {Command} {virtex2 set_user_codes} device.tap user1 [user2 [user3 [user4]]]"},{"line_number":8525,"context_line":"Change values for boundary scan instructions selecting the registers USER1 to USER4."},{"line_number":8526,"context_line":"@end deffn"},{"line_number":8527,"context_line":"Description of the arguments can be found at command @command{virtex2 set_instr_codes}."},{"line_number":8528,"context_line":"@end deffn"},{"line_number":8529,"context_line":""}],"source_content_type":"text/x-texinfo","patch_set":1,"id":"3d5b3765_aa930276","line":8526,"updated":"2023-05-27 20:53:55.000000000","message":"same after this line","commit_id":"2e39cf4dfcf3d76ab6a698ef6294257c0e83fd34"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"d31b419ab183acb2537619e98fc46c11ca113cac","unresolved":false,"context_lines":[{"line_number":8523,"context_line":""},{"line_number":8524,"context_line":"@deffn {Command} {virtex2 set_user_codes} device.tap user1 [user2 [user3 [user4]]]"},{"line_number":8525,"context_line":"Change values for boundary scan instructions selecting the registers USER1 to USER4."},{"line_number":8526,"context_line":"@end deffn"},{"line_number":8527,"context_line":"Description of the arguments can be found at command @command{virtex2 set_instr_codes}."},{"line_number":8528,"context_line":"@end deffn"},{"line_number":8529,"context_line":""}],"source_content_type":"text/x-texinfo","patch_set":1,"id":"b719577f_40e9aa9f","line":8526,"in_reply_to":"3d5b3765_aa930276","updated":"2023-06-09 21:52:52.000000000","message":"Done","commit_id":"2e39cf4dfcf3d76ab6a698ef6294257c0e83fd34"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"d0e11aac43b510cc6b62b9d9eae1777f63cb5adc","unresolved":true,"context_lines":[{"line_number":8513,"context_line":"@deffn {Command} {virtex2 set_instr_codes} device.tap cfg_out cfg_in jprogb jstart jshutdown [user1 [user2 [user3 [user4]]]]"},{"line_number":8514,"context_line":"Change values for boundary scan instructions. Default are values for Virtex 2, devices Virtex 4/5/6 and"},{"line_number":8515,"context_line":"SSI devices are using different values."},{"line_number":8516,"context_line":"@var{device.tap} is the name of the tap."},{"line_number":8517,"context_line":"@var{cfg_out} is the value used to select CFG_OUT instruction."},{"line_number":8518,"context_line":"@var{cfg_in} is the value used to select CFG_IN instruction."},{"line_number":8519,"context_line":"@var{jprogb} is the value used to select JPROGRAM instruction."}],"source_content_type":"text/x-texinfo","patch_set":2,"id":"804f0fdf_81686b32","line":8516,"updated":"2023-06-24 19:23:58.000000000","message":"in https://review.openocd.org/7728/ we stop referencing devices by number, and we switch to names\nHere instead the reference is by \u0027tap name\u0027.\nMy understanding is that we have one device per tap.\nCan we use number, here, and change to name later?","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"43663125103c1e88850491e4d2d63e9a57025fae","unresolved":false,"context_lines":[{"line_number":8513,"context_line":"@deffn {Command} {virtex2 set_instr_codes} device.tap cfg_out cfg_in jprogb jstart jshutdown [user1 [user2 [user3 [user4]]]]"},{"line_number":8514,"context_line":"Change values for boundary scan instructions. Default are values for Virtex 2, devices Virtex 4/5/6 and"},{"line_number":8515,"context_line":"SSI devices are using different values."},{"line_number":8516,"context_line":"@var{device.tap} is the name of the tap."},{"line_number":8517,"context_line":"@var{cfg_out} is the value used to select CFG_OUT instruction."},{"line_number":8518,"context_line":"@var{cfg_in} is the value used to select CFG_IN instruction."},{"line_number":8519,"context_line":"@var{jprogb} is the value used to select JPROGRAM instruction."}],"source_content_type":"text/x-texinfo","patch_set":2,"id":"80548e1a_badc3ae7","line":8516,"in_reply_to":"50e7c00d_5b0f23b8","updated":"2023-06-24 23:54:41.000000000","message":"Done","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"7ca728f01dde09990b2508c46d329ff95183da88","unresolved":false,"context_lines":[{"line_number":8513,"context_line":"@deffn {Command} {virtex2 set_instr_codes} device.tap cfg_out cfg_in jprogb jstart jshutdown [user1 [user2 [user3 [user4]]]]"},{"line_number":8514,"context_line":"Change values for boundary scan instructions. Default are values for Virtex 2, devices Virtex 4/5/6 and"},{"line_number":8515,"context_line":"SSI devices are using different values."},{"line_number":8516,"context_line":"@var{device.tap} is the name of the tap."},{"line_number":8517,"context_line":"@var{cfg_out} is the value used to select CFG_OUT instruction."},{"line_number":8518,"context_line":"@var{cfg_in} is the value used to select CFG_IN instruction."},{"line_number":8519,"context_line":"@var{jprogb} is the value used to select JPROGRAM instruction."}],"source_content_type":"text/x-texinfo","patch_set":2,"id":"fa9986c9_eb5662f1","line":8516,"in_reply_to":"50e7c00d_5b0f23b8","updated":"2023-06-25 22:01:19.000000000","message":"the problem here was that we had no chance to know the number in the scripts.\nSo I added the list of taps. Now I will rebase to 7728 and we can use the name!","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"6db5c8658ed49310f569c6b3f7ec798ed0574be6","unresolved":true,"context_lines":[{"line_number":8513,"context_line":"@deffn {Command} {virtex2 set_instr_codes} device.tap cfg_out cfg_in jprogb jstart jshutdown [user1 [user2 [user3 [user4]]]]"},{"line_number":8514,"context_line":"Change values for boundary scan instructions. Default are values for Virtex 2, devices Virtex 4/5/6 and"},{"line_number":8515,"context_line":"SSI devices are using different values."},{"line_number":8516,"context_line":"@var{device.tap} is the name of the tap."},{"line_number":8517,"context_line":"@var{cfg_out} is the value used to select CFG_OUT instruction."},{"line_number":8518,"context_line":"@var{cfg_in} is the value used to select CFG_IN instruction."},{"line_number":8519,"context_line":"@var{jprogb} is the value used to select JPROGRAM instruction."}],"source_content_type":"text/x-texinfo","patch_set":2,"id":"50e7c00d_5b0f23b8","line":8516,"in_reply_to":"804f0fdf_81686b32","updated":"2023-06-24 19:27:45.000000000","message":"Looking at next patch in this series ...\nUsing number here is crap, because generic cfg file don\u0027t know how many pld has been created so far.\nMaybe let\u0027s give priority to 7728 and switch here to device names directly.","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"}],"src/pld/virtex2.c":[{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"fc5ca36176059cd1daea81a74701be8245a00680","unresolved":true,"context_lines":[{"line_number":289,"context_line":"\tif (CMD_ARGC \u003c 6)"},{"line_number":290,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"\tstruct jtag_tap *tap \u003d jtag_tap_by_string(CMD_ARGV[0]);"},{"line_number":293,"context_line":"\tif (!tap) {"},{"line_number":294,"context_line":"\t\tcommand_print(CMD, \"Tap %s unknown\", CMD_ARGV[0]);"},{"line_number":295,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":296,"context_line":"\t}"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"\tstruct virtex2_pld_device *virtex2_info;"},{"line_number":299,"context_line":"\tint retval \u003d virtex2_get_pld_device_for_tap(tap, \u0026virtex2_info);"},{"line_number":300,"context_line":"\tif (retval !\u003d ERROR_OK) {"},{"line_number":301,"context_line":"\t\tcommand_print(CMD, \"No virtex2 pld driver initialized for tap %s\", CMD_ARGV[0]);"},{"line_number":302,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":303,"context_line":"\t}"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"\tstruct virtex2_command_set instr_codes;"},{"line_number":306,"context_line":"\tCOMMAND_PARSE_NUMBER(u64, CMD_ARGV[1], instr_codes.cfg_out);"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"75fa0b8f_2a8a808d","line":303,"range":{"start_line":292,"start_character":1,"end_line":303,"end_character":2},"updated":"2023-05-27 03:39:39.000000000","message":"Unlike all other pld commands set_*_codes references pld by a tap instead of a numeric index. It also introduces a new linked list for tap enumeration.\nI understand why, there no reasonable way to use the index in cfg file.\n\nThe numeric indices (pld, flash) originate in the very old OpenOCD code.\nI have no idea if taps or CPU targets have ever been numerically indexed but now a string id is used for them (and daps too). It would be nice to create\n$_CHIPNAME.pld similarly like we create a target, but it\u0027s probably an overkill for much simpler pld support.\n\nWhat about referencing pld either by number or by associated tap in any pld command? Provided that tap name doesn\u0027t start by a number we can distinguish it from a numerical index and maintain command compatibility with the old versions.\n\nIt would require\n7680: move tap-pointer to pld_device | https://review.openocd.org/c/openocd/+/7680","commit_id":"2e39cf4dfcf3d76ab6a698ef6294257c0e83fd34"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"910bfcf7f152f640ab7d2992beaeaa402faee01f","unresolved":true,"context_lines":[{"line_number":289,"context_line":"\tif (CMD_ARGC \u003c 6)"},{"line_number":290,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"\tstruct jtag_tap *tap \u003d jtag_tap_by_string(CMD_ARGV[0]);"},{"line_number":293,"context_line":"\tif (!tap) {"},{"line_number":294,"context_line":"\t\tcommand_print(CMD, \"Tap %s unknown\", CMD_ARGV[0]);"},{"line_number":295,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":296,"context_line":"\t}"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"\tstruct virtex2_pld_device *virtex2_info;"},{"line_number":299,"context_line":"\tint retval \u003d virtex2_get_pld_device_for_tap(tap, \u0026virtex2_info);"},{"line_number":300,"context_line":"\tif (retval !\u003d ERROR_OK) {"},{"line_number":301,"context_line":"\t\tcommand_print(CMD, \"No virtex2 pld driver initialized for tap %s\", CMD_ARGV[0]);"},{"line_number":302,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":303,"context_line":"\t}"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"\tstruct virtex2_command_set instr_codes;"},{"line_number":306,"context_line":"\tCOMMAND_PARSE_NUMBER(u64, CMD_ARGV[1], instr_codes.cfg_out);"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"fdbeca1c_73c47703","line":303,"range":{"start_line":292,"start_character":1,"end_line":303,"end_character":2},"in_reply_to":"75fa0b8f_2a8a808d","updated":"2023-06-03 19:46:38.000000000","message":"I think creating $_CHIPNAME.pld for referencing pld devices is the nicest solution. So I prepared 7728 \"give pld devices a name for referencing in scripts\". \nIf we can agree on that, I will rebase this series on 7728.","commit_id":"2e39cf4dfcf3d76ab6a698ef6294257c0e83fd34"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"36e0479abb123efa0e92fb96c79304346767c58b","unresolved":false,"context_lines":[{"line_number":289,"context_line":"\tif (CMD_ARGC \u003c 6)"},{"line_number":290,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"\tstruct jtag_tap *tap \u003d jtag_tap_by_string(CMD_ARGV[0]);"},{"line_number":293,"context_line":"\tif (!tap) {"},{"line_number":294,"context_line":"\t\tcommand_print(CMD, \"Tap %s unknown\", CMD_ARGV[0]);"},{"line_number":295,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":296,"context_line":"\t}"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"\tstruct virtex2_pld_device *virtex2_info;"},{"line_number":299,"context_line":"\tint retval \u003d virtex2_get_pld_device_for_tap(tap, \u0026virtex2_info);"},{"line_number":300,"context_line":"\tif (retval !\u003d ERROR_OK) {"},{"line_number":301,"context_line":"\t\tcommand_print(CMD, \"No virtex2 pld driver initialized for tap %s\", CMD_ARGV[0]);"},{"line_number":302,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":303,"context_line":"\t}"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"\tstruct virtex2_command_set instr_codes;"},{"line_number":306,"context_line":"\tCOMMAND_PARSE_NUMBER(u64, CMD_ARGV[1], instr_codes.cfg_out);"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"5197e8e4_b24e4b1a","line":303,"range":{"start_line":292,"start_character":1,"end_line":303,"end_character":2},"in_reply_to":"fdbeca1c_73c47703","updated":"2023-06-23 08:39:03.000000000","message":"Done","commit_id":"2e39cf4dfcf3d76ab6a698ef6294257c0e83fd34"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"fc5ca36176059cd1daea81a74701be8245a00680","unresolved":true,"context_lines":[{"line_number":310,"context_line":"\tCOMMAND_PARSE_NUMBER(u64, CMD_ARGV[5], instr_codes.jshutdown);"},{"line_number":311,"context_line":"\tinstr_codes.bypass \u003d 0xffffffffffffffff;"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"\tuint8_t num_user \u003d 0;"},{"line_number":314,"context_line":"\tfor (size_t i \u003d 0; i \u003c VIRTEX2_MAX_USER_INSTRUCTIONS \u0026\u0026 CMD_ARGC \u003e 6 + i; ++i) {"},{"line_number":315,"context_line":"\t\tCOMMAND_PARSE_NUMBER(u64, CMD_ARGV[6 + i], instr_codes.user[i]);"},{"line_number":316,"context_line":"\t\tnum_user++;"},{"line_number":317,"context_line":"\t}"},{"line_number":318,"context_line":"\tinstr_codes.num_user \u003d num_user;"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"\tvirtex2_info-\u003ecommand_set \u003d instr_codes;"},{"line_number":321,"context_line":"\treturn ERROR_OK;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"f250a45d_86f4a4d6","line":318,"range":{"start_line":313,"start_character":1,"end_line":318,"end_character":33},"updated":"2023-05-27 03:39:39.000000000","message":"Do we need this redundancy?\nAFAIK all configs use set_user_codes to set them.","commit_id":"2e39cf4dfcf3d76ab6a698ef6294257c0e83fd34"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"910bfcf7f152f640ab7d2992beaeaa402faee01f","unresolved":false,"context_lines":[{"line_number":310,"context_line":"\tCOMMAND_PARSE_NUMBER(u64, CMD_ARGV[5], instr_codes.jshutdown);"},{"line_number":311,"context_line":"\tinstr_codes.bypass \u003d 0xffffffffffffffff;"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"\tuint8_t num_user \u003d 0;"},{"line_number":314,"context_line":"\tfor (size_t i \u003d 0; i \u003c VIRTEX2_MAX_USER_INSTRUCTIONS \u0026\u0026 CMD_ARGC \u003e 6 + i; ++i) {"},{"line_number":315,"context_line":"\t\tCOMMAND_PARSE_NUMBER(u64, CMD_ARGV[6 + i], instr_codes.user[i]);"},{"line_number":316,"context_line":"\t\tnum_user++;"},{"line_number":317,"context_line":"\t}"},{"line_number":318,"context_line":"\tinstr_codes.num_user \u003d num_user;"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"\tvirtex2_info-\u003ecommand_set \u003d instr_codes;"},{"line_number":321,"context_line":"\treturn ERROR_OK;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"f6c0cd3f_4f4c8bea","line":318,"range":{"start_line":313,"start_character":1,"end_line":318,"end_character":33},"in_reply_to":"f250a45d_86f4a4d6","updated":"2023-06-03 19:46:38.000000000","message":"Yes I think so because set_instr_codes is needed for programming the virtex6 devices and for refreshing all devices with ir-length !\u003d 6.","commit_id":"2e39cf4dfcf3d76ab6a698ef6294257c0e83fd34"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"d0e11aac43b510cc6b62b9d9eae1777f63cb5adc","unresolved":true,"context_lines":[{"line_number":286,"context_line":""},{"line_number":287,"context_line":"COMMAND_HANDLER(virtex2_handle_set_instuction_codes_command)"},{"line_number":288,"context_line":"{"},{"line_number":289,"context_line":"\tif (CMD_ARGC \u003c 6)"},{"line_number":290,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"\tstruct jtag_tap *tap \u003d jtag_tap_by_string(CMD_ARGV[0]);"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"2b6ed00b_7001a296","line":289,"updated":"2023-06-24 19:23:58.000000000","message":"if (CMD_ARGC \u003c 6 || CMD_ARGC \u003e (6 + VIRTEX2_MAX_USER_INSTRUCTIONS))","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"43663125103c1e88850491e4d2d63e9a57025fae","unresolved":false,"context_lines":[{"line_number":286,"context_line":""},{"line_number":287,"context_line":"COMMAND_HANDLER(virtex2_handle_set_instuction_codes_command)"},{"line_number":288,"context_line":"{"},{"line_number":289,"context_line":"\tif (CMD_ARGC \u003c 6)"},{"line_number":290,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"\tstruct jtag_tap *tap \u003d jtag_tap_by_string(CMD_ARGV[0]);"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"a102047e_5489048d","line":289,"in_reply_to":"2b6ed00b_7001a296","updated":"2023-06-24 23:54:41.000000000","message":"Done","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"7ca728f01dde09990b2508c46d329ff95183da88","unresolved":false,"context_lines":[{"line_number":286,"context_line":""},{"line_number":287,"context_line":"COMMAND_HANDLER(virtex2_handle_set_instuction_codes_command)"},{"line_number":288,"context_line":"{"},{"line_number":289,"context_line":"\tif (CMD_ARGC \u003c 6)"},{"line_number":290,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"\tstruct jtag_tap *tap \u003d jtag_tap_by_string(CMD_ARGV[0]);"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"e8957106_d43cc9ab","line":289,"in_reply_to":"2b6ed00b_7001a296","updated":"2023-06-25 22:01:19.000000000","message":"Done","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"d0e11aac43b510cc6b62b9d9eae1777f63cb5adc","unresolved":true,"context_lines":[{"line_number":311,"context_line":"\tinstr_codes.bypass \u003d 0xffffffffffffffff;"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"\tuint8_t num_user \u003d 0;"},{"line_number":314,"context_line":"\tfor (size_t i \u003d 0; i \u003c VIRTEX2_MAX_USER_INSTRUCTIONS \u0026\u0026 CMD_ARGC \u003e 6 + i; ++i) {"},{"line_number":315,"context_line":"\t\tCOMMAND_PARSE_NUMBER(u64, CMD_ARGV[6 + i], instr_codes.user[i]);"},{"line_number":316,"context_line":"\t\tnum_user++;"},{"line_number":317,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"a5c940e5_8ad35d58","line":314,"updated":"2023-06-24 19:23:58.000000000","message":"see comment in next function","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"43663125103c1e88850491e4d2d63e9a57025fae","unresolved":false,"context_lines":[{"line_number":311,"context_line":"\tinstr_codes.bypass \u003d 0xffffffffffffffff;"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"\tuint8_t num_user \u003d 0;"},{"line_number":314,"context_line":"\tfor (size_t i \u003d 0; i \u003c VIRTEX2_MAX_USER_INSTRUCTIONS \u0026\u0026 CMD_ARGC \u003e 6 + i; ++i) {"},{"line_number":315,"context_line":"\t\tCOMMAND_PARSE_NUMBER(u64, CMD_ARGV[6 + i], instr_codes.user[i]);"},{"line_number":316,"context_line":"\t\tnum_user++;"},{"line_number":317,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"49db58d5_853fbf84","line":314,"in_reply_to":"a5c940e5_8ad35d58","updated":"2023-06-24 23:54:41.000000000","message":"Done","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"7ca728f01dde09990b2508c46d329ff95183da88","unresolved":false,"context_lines":[{"line_number":311,"context_line":"\tinstr_codes.bypass \u003d 0xffffffffffffffff;"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"\tuint8_t num_user \u003d 0;"},{"line_number":314,"context_line":"\tfor (size_t i \u003d 0; i \u003c VIRTEX2_MAX_USER_INSTRUCTIONS \u0026\u0026 CMD_ARGC \u003e 6 + i; ++i) {"},{"line_number":315,"context_line":"\t\tCOMMAND_PARSE_NUMBER(u64, CMD_ARGV[6 + i], instr_codes.user[i]);"},{"line_number":316,"context_line":"\t\tnum_user++;"},{"line_number":317,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"90a78fa7_27217f12","line":314,"in_reply_to":"a5c940e5_8ad35d58","updated":"2023-06-25 22:01:19.000000000","message":"Done","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"d0e11aac43b510cc6b62b9d9eae1777f63cb5adc","unresolved":true,"context_lines":[{"line_number":323,"context_line":""},{"line_number":324,"context_line":"COMMAND_HANDLER(virtex2_handle_set_user_codes_command)"},{"line_number":325,"context_line":"{"},{"line_number":326,"context_line":"\tif (CMD_ARGC \u003c 2)"},{"line_number":327,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":"\tstruct jtag_tap *tap \u003d jtag_tap_by_string(CMD_ARGV[0]);"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"596d9eae_bccb743b","line":326,"updated":"2023-06-24 19:23:58.000000000","message":"if (CMD_ARGC \u003c 2 || CMD_ARGC \u003e (1 + VIRTEX2_MAX_USER_INSTRUCTIONS))","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"7ca728f01dde09990b2508c46d329ff95183da88","unresolved":false,"context_lines":[{"line_number":323,"context_line":""},{"line_number":324,"context_line":"COMMAND_HANDLER(virtex2_handle_set_user_codes_command)"},{"line_number":325,"context_line":"{"},{"line_number":326,"context_line":"\tif (CMD_ARGC \u003c 2)"},{"line_number":327,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":"\tstruct jtag_tap *tap \u003d jtag_tap_by_string(CMD_ARGV[0]);"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"6ba58d0e_297303c4","line":326,"in_reply_to":"596d9eae_bccb743b","updated":"2023-06-25 22:01:19.000000000","message":"Done","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"43663125103c1e88850491e4d2d63e9a57025fae","unresolved":false,"context_lines":[{"line_number":323,"context_line":""},{"line_number":324,"context_line":"COMMAND_HANDLER(virtex2_handle_set_user_codes_command)"},{"line_number":325,"context_line":"{"},{"line_number":326,"context_line":"\tif (CMD_ARGC \u003c 2)"},{"line_number":327,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":"\tstruct jtag_tap *tap \u003d jtag_tap_by_string(CMD_ARGV[0]);"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"fcfda218_189ac848","line":326,"in_reply_to":"596d9eae_bccb743b","updated":"2023-06-24 23:54:41.000000000","message":"Done","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"d0e11aac43b510cc6b62b9d9eae1777f63cb5adc","unresolved":true,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"\tuint64_t user[VIRTEX2_MAX_USER_INSTRUCTIONS];"},{"line_number":343,"context_line":"\tuint8_t num_user \u003d 0;"},{"line_number":344,"context_line":"\tfor (size_t i \u003d 0; i \u003c VIRTEX2_MAX_USER_INSTRUCTIONS \u0026\u0026 CMD_ARGC \u003e 1 + i; ++i) {"},{"line_number":345,"context_line":"\t\tCOMMAND_PARSE_NUMBER(u64, CMD_ARGV[1 + i], user[i]);"},{"line_number":346,"context_line":"\t\tnum_user++;"},{"line_number":347,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"eb93f428_0027a3d7","line":344,"updated":"2023-06-24 19:23:58.000000000","message":"Can simply be:\nunsigned int num_user \u003d CMD_ARGC - 1;\nfor (unsigned int i \u003d 0; i \u003c num_user; i++)\nCOMMAND_PARSE_NUMBER(u64, CMD_ARGV[1 + i], user[i]);","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"43663125103c1e88850491e4d2d63e9a57025fae","unresolved":false,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"\tuint64_t user[VIRTEX2_MAX_USER_INSTRUCTIONS];"},{"line_number":343,"context_line":"\tuint8_t num_user \u003d 0;"},{"line_number":344,"context_line":"\tfor (size_t i \u003d 0; i \u003c VIRTEX2_MAX_USER_INSTRUCTIONS \u0026\u0026 CMD_ARGC \u003e 1 + i; ++i) {"},{"line_number":345,"context_line":"\t\tCOMMAND_PARSE_NUMBER(u64, CMD_ARGV[1 + i], user[i]);"},{"line_number":346,"context_line":"\t\tnum_user++;"},{"line_number":347,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"7defe61b_03f31588","line":344,"in_reply_to":"eb93f428_0027a3d7","updated":"2023-06-24 23:54:41.000000000","message":"Done","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"7ca728f01dde09990b2508c46d329ff95183da88","unresolved":false,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"\tuint64_t user[VIRTEX2_MAX_USER_INSTRUCTIONS];"},{"line_number":343,"context_line":"\tuint8_t num_user \u003d 0;"},{"line_number":344,"context_line":"\tfor (size_t i \u003d 0; i \u003c VIRTEX2_MAX_USER_INSTRUCTIONS \u0026\u0026 CMD_ARGC \u003e 1 + i; ++i) {"},{"line_number":345,"context_line":"\t\tCOMMAND_PARSE_NUMBER(u64, CMD_ARGV[1 + i], user[i]);"},{"line_number":346,"context_line":"\t\tnum_user++;"},{"line_number":347,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"c36b070c_a81bca2f","line":344,"in_reply_to":"eb93f428_0027a3d7","updated":"2023-06-25 22:01:19.000000000","message":"Done","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"d0e11aac43b510cc6b62b9d9eae1777f63cb5adc","unresolved":true,"context_lines":[{"line_number":346,"context_line":"\t\tnum_user++;"},{"line_number":347,"context_line":"\t}"},{"line_number":348,"context_line":"\tvirtex2_info-\u003ecommand_set.num_user \u003d num_user;"},{"line_number":349,"context_line":"\tmemcpy(virtex2_info-\u003ecommand_set.user, user, num_user * sizeof(uint64_t));"},{"line_number":350,"context_line":"\treturn ERROR_OK;"},{"line_number":351,"context_line":"}"},{"line_number":352,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"d3a726cf_0ffedd81","line":349,"updated":"2023-06-24 19:23:58.000000000","message":"I think you can simply write\nvirtex2_info-\u003ecommand_set.user \u003d user;\nand copy everything, also the values not assigned.","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"43663125103c1e88850491e4d2d63e9a57025fae","unresolved":false,"context_lines":[{"line_number":346,"context_line":"\t\tnum_user++;"},{"line_number":347,"context_line":"\t}"},{"line_number":348,"context_line":"\tvirtex2_info-\u003ecommand_set.num_user \u003d num_user;"},{"line_number":349,"context_line":"\tmemcpy(virtex2_info-\u003ecommand_set.user, user, num_user * sizeof(uint64_t));"},{"line_number":350,"context_line":"\treturn ERROR_OK;"},{"line_number":351,"context_line":"}"},{"line_number":352,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"c95595ef_4530d252","line":349,"in_reply_to":"d3a726cf_0ffedd81","updated":"2023-06-24 23:54:41.000000000","message":"Doesn\u0027t apply. My bad","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"7ca728f01dde09990b2508c46d329ff95183da88","unresolved":false,"context_lines":[{"line_number":346,"context_line":"\t\tnum_user++;"},{"line_number":347,"context_line":"\t}"},{"line_number":348,"context_line":"\tvirtex2_info-\u003ecommand_set.num_user \u003d num_user;"},{"line_number":349,"context_line":"\tmemcpy(virtex2_info-\u003ecommand_set.user, user, num_user * sizeof(uint64_t));"},{"line_number":350,"context_line":"\treturn ERROR_OK;"},{"line_number":351,"context_line":"}"},{"line_number":352,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"d18134aa_f22d8a01","line":349,"in_reply_to":"d3a726cf_0ffedd81","updated":"2023-06-25 22:01:19.000000000","message":"error: assignment to expression with array type","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"d0e11aac43b510cc6b62b9d9eae1777f63cb5adc","unresolved":true,"context_lines":[{"line_number":371,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":372,"context_line":"\t}"},{"line_number":373,"context_line":"\tvirtex2_info-\u003etap \u003d tap;"},{"line_number":374,"context_line":"\tmemcpy(\u0026virtex2_info-\u003ecommand_set, \u0026virtex2_default_commands, sizeof(struct virtex2_command_set));"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"\tvirtex2_info-\u003eno_jstart \u003d 0;"},{"line_number":377,"context_line":"\tif (CMD_ARGC \u003e\u003d 3)"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"5c675254_3c42e6a7","line":374,"updated":"2023-06-24 19:23:58.000000000","message":"It should work with:\nvirtex2_info-\u003ecommand_set \u003d virtex2_default_commands;","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"43663125103c1e88850491e4d2d63e9a57025fae","unresolved":false,"context_lines":[{"line_number":371,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":372,"context_line":"\t}"},{"line_number":373,"context_line":"\tvirtex2_info-\u003etap \u003d tap;"},{"line_number":374,"context_line":"\tmemcpy(\u0026virtex2_info-\u003ecommand_set, \u0026virtex2_default_commands, sizeof(struct virtex2_command_set));"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"\tvirtex2_info-\u003eno_jstart \u003d 0;"},{"line_number":377,"context_line":"\tif (CMD_ARGC \u003e\u003d 3)"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"73ac8b75_b74865c4","line":374,"in_reply_to":"5c675254_3c42e6a7","updated":"2023-06-24 23:54:41.000000000","message":"Done","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"7ca728f01dde09990b2508c46d329ff95183da88","unresolved":false,"context_lines":[{"line_number":371,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":372,"context_line":"\t}"},{"line_number":373,"context_line":"\tvirtex2_info-\u003etap \u003d tap;"},{"line_number":374,"context_line":"\tmemcpy(\u0026virtex2_info-\u003ecommand_set, \u0026virtex2_default_commands, sizeof(struct virtex2_command_set));"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"\tvirtex2_info-\u003eno_jstart \u003d 0;"},{"line_number":377,"context_line":"\tif (CMD_ARGC \u003e\u003d 3)"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"e1787467_63af0c8d","line":374,"in_reply_to":"5c675254_3c42e6a7","updated":"2023-06-25 22:01:19.000000000","message":"Done","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"}],"src/pld/virtex2.h":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"d0e11aac43b510cc6b62b9d9eae1777f63cb5adc","unresolved":true,"context_lines":[{"line_number":20,"context_line":"\tuint64_t jshutdown;"},{"line_number":21,"context_line":"\tuint64_t bypass;"},{"line_number":22,"context_line":"\tuint64_t user[VIRTEX2_MAX_USER_INSTRUCTIONS];"},{"line_number":23,"context_line":"\tuint8_t num_user;"},{"line_number":24,"context_line":"};"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"struct virtex2_pld_device {"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"8724758c_b5edab34","line":23,"updated":"2023-06-24 19:23:58.000000000","message":"why uint8_t ? there is no link with device data size.\nit should be a more generic unsigned int","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"43663125103c1e88850491e4d2d63e9a57025fae","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\tuint64_t jshutdown;"},{"line_number":21,"context_line":"\tuint64_t bypass;"},{"line_number":22,"context_line":"\tuint64_t user[VIRTEX2_MAX_USER_INSTRUCTIONS];"},{"line_number":23,"context_line":"\tuint8_t num_user;"},{"line_number":24,"context_line":"};"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"struct virtex2_pld_device {"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"d499d83e_72f68055","line":23,"in_reply_to":"8724758c_b5edab34","updated":"2023-06-24 23:54:41.000000000","message":"Done","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"7ca728f01dde09990b2508c46d329ff95183da88","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\tuint64_t jshutdown;"},{"line_number":21,"context_line":"\tuint64_t bypass;"},{"line_number":22,"context_line":"\tuint64_t user[VIRTEX2_MAX_USER_INSTRUCTIONS];"},{"line_number":23,"context_line":"\tuint8_t num_user;"},{"line_number":24,"context_line":"};"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"struct virtex2_pld_device {"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"fb6c6096_cad36dc7","line":23,"in_reply_to":"8724758c_b5edab34","updated":"2023-06-25 22:01:19.000000000","message":"Done","commit_id":"75d1e5bf6b0b3467410f4ad6b49cc61e8e1de563"}]}
