X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Ftarget%2Fxscale.c;h=982c42737510371394bdd0ff68ae8157e42a9aaf;hb=a1777c6bcff357d5744fe4b09633bc0363dd53e6;hp=3ec84373922c56f53be459181f44c16363934a60;hpb=4d88c124b1262a738b4a9f107ef62404a45bf323;p=openocd.git diff --git a/src/target/xscale.c b/src/target/xscale.c index 3ec8437392..982c427375 100644 --- a/src/target/xscale.c +++ b/src/target/xscale.c @@ -271,9 +271,9 @@ int xscale_read_dcsr(target_t *target) fields[1].in_value = xscale->reg_cache->reg_list[XSCALE_DCSR].value; fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + + fields[2].tap = xscale->jtag_info.tap; fields[2].num_bits = 1; @@ -349,9 +349,9 @@ int xscale_receive(target_t *target, u32 *buffer, int num_words) fields[1].in_value = NULL; fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + + fields[2].tap = xscale->jtag_info.tap; fields[2].num_bits = 1; @@ -468,9 +468,9 @@ int xscale_read_tx(target_t *target, int consume) fields[1].in_value = xscale->reg_cache->reg_list[XSCALE_TX].value; fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + + fields[2].tap = xscale->jtag_info.tap; fields[2].num_bits = 1; @@ -564,9 +564,9 @@ int xscale_write_rx(target_t *target) fields[1].in_value = NULL; fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + + fields[2].tap = xscale->jtag_info.tap; fields[2].num_bits = 1; @@ -739,9 +739,9 @@ int xscale_write_dcsr(target_t *target, int hold_rst, int ext_dbg_brk) fields[1].in_value = NULL; fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + + fields[2].tap = xscale->jtag_info.tap; fields[2].num_bits = 1; @@ -807,20 +807,20 @@ int xscale_load_ic(target_t *target, int mini, u32 va, u32 buffer[8]) fields[0].out_value = &cmd; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = xscale->jtag_info.tap; fields[1].num_bits = 27; fields[1].out_value = packet; fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + jtag_add_dr_scan(2, fields, TAP_INVALID); @@ -833,7 +833,11 @@ int xscale_load_ic(target_t *target, int mini, u32 va, u32 buffer[8]) for (word = 0; word < 8; word++) { buf_set_u32(packet, 0, 32, buffer[word]); - cmd = parity(*((u32*)packet)); + + u32 value; + memcpy(&value, packet, sizeof(u32)); + cmd = parity(value); + jtag_add_dr_scan(2, fields, TAP_INVALID); } @@ -865,20 +869,20 @@ int xscale_invalidate_ic_line(target_t *target, u32 va) fields[0].out_value = &cmd; fields[0].in_value = NULL; - fields[0].in_check_value = NULL; - fields[0].in_check_mask = NULL; + + fields[0].in_handler = NULL; - fields[0].in_handler_priv = NULL; + fields[1].tap = xscale->jtag_info.tap; fields[1].num_bits = 27; fields[1].out_value = packet; fields[1].in_value = NULL; - fields[1].in_check_value = NULL; - fields[1].in_check_mask = NULL; + + fields[1].in_handler = NULL; - fields[1].in_handler_priv = NULL; + jtag_add_dr_scan(2, fields, TAP_INVALID);