This patch makes the cmd_queue_scan_field_clone function public. This
permits targets to insert fields without affecting the submitted
scan_field list. This will be used in an upcoming target implementation
that needs to insert additional padding bits.
Change-Id: I8fbd3b9b4e413432471f4f1444048932c8fa189e
Signed-off-by: Steven Stallion <stallion@squareup.com>
Reviewed-on: http://openocd.zylin.com/4082
Tested-by: jenkins
Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
noinst_LTLIBRARIES += %D%/libjtag.la
noinst_LTLIBRARIES += %D%/libjtag.la
+JTAG_SRCS = %D%/commands.c
%C%_libjtag_la_LIBADD =
BUILT_SOURCES += %D%/minidriver_imp.h
%C%_libjtag_la_LIBADD =
BUILT_SOURCES += %D%/minidriver_imp.h
JTAG_MINIDRIVER_DIR = %D%/zy1000
endif
if MINIDRIVER_DUMMY
JTAG_MINIDRIVER_DIR = %D%/zy1000
endif
if MINIDRIVER_DUMMY
-JTAG_SRCS += %D%/minidummy/minidummy.c %D%/commands.c
+JTAG_SRCS += %D%/minidummy/minidummy.c
JTAG_MINIDRIVER_DIR = %D%/minidummy
endif
JTAG_MINIDRIVER_DIR = %D%/minidummy
endif
else
MINIDRIVER_IMP_DIR = %D%/drivers
else
MINIDRIVER_IMP_DIR = %D%/drivers
-JTAG_SRCS += %D%/commands.c
if HLADAPTER
include %D%/hla/Makefile.am
if HLADAPTER
include %D%/hla/Makefile.am
next_command_pointer = &jtag_command_queue;
}
next_command_pointer = &jtag_command_queue;
}
+/**
+ * Copy a struct scan_field for insertion into the queue.
+ *
+ * This allocates a new copy of out_value using cmd_queue_alloc.
+ */
+void jtag_scan_field_clone(struct scan_field *dst, const struct scan_field *src)
+{
+ dst->num_bits = src->num_bits;
+ dst->out_value = buf_cpy(src->out_value, cmd_queue_alloc(DIV_ROUND_UP(src->num_bits, 8)), src->num_bits);
+ dst->in_value = src->in_value;
+}
+
enum scan_type jtag_scan_type(const struct scan_command *cmd)
{
int i;
enum scan_type jtag_scan_type(const struct scan_command *cmd)
{
int i;
void jtag_queue_command(struct jtag_command *cmd);
void jtag_command_queue_reset(void);
void jtag_queue_command(struct jtag_command *cmd);
void jtag_command_queue_reset(void);
+void jtag_scan_field_clone(struct scan_field *dst, const struct scan_field *src);
enum scan_type jtag_scan_type(const struct scan_command *cmd);
int jtag_scan_size(const struct scan_command *cmd);
int jtag_read_buffer(uint8_t *buffer, const struct scan_command *cmd);
enum scan_type jtag_scan_type(const struct scan_command *cmd);
int jtag_scan_size(const struct scan_command *cmd);
int jtag_read_buffer(uint8_t *buffer, const struct scan_command *cmd);
jtag_callback_queue_tail = NULL;
}
jtag_callback_queue_tail = NULL;
}
-/**
- * Copy a struct scan_field for insertion into the queue.
- *
- * This allocates a new copy of out_value using cmd_queue_alloc.
- */
-static void cmd_queue_scan_field_clone(struct scan_field *dst, const struct scan_field *src)
-{
- dst->num_bits = src->num_bits;
- dst->out_value = buf_cpy(src->out_value, cmd_queue_alloc(DIV_ROUND_UP(src->num_bits, 8)), src->num_bits);
- dst->in_value = src->in_value;
-}
-
/**
* see jtag_add_ir_scan()
*
/**
* see jtag_add_ir_scan()
*
/* if TAP is listed in input fields, copy the value */
tap->bypass = 0;
/* if TAP is listed in input fields, copy the value */
tap->bypass = 0;
- cmd_queue_scan_field_clone(field, in_fields);
+ jtag_scan_field_clone(field, in_fields);
} else {
/* if a TAP isn't listed in input fields, set it to BYPASS */
} else {
/* if a TAP isn't listed in input fields, set it to BYPASS */
#endif /* NDEBUG */
for (int j = 0; j < in_num_fields; j++) {
#endif /* NDEBUG */
for (int j = 0; j < in_num_fields; j++) {
- cmd_queue_scan_field_clone(field, in_fields + j);
+ jtag_scan_field_clone(field, in_fields + j);
Linking to existing account procedure
If you already have an account and want to add another login method
you
MUST first sign in with your existing account and
then change URL to read
https://review.openocd.org/login/?link
to get to this page again but this time it'll work for linking. Thank you.
SSH host keys fingerprints
1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=.. |
|+o.. . |
|*.o . . |
|+B . . . |
|Bo. = o S |
|Oo.+ + = |
|oB=.* = . o |
| =+=.+ + E |
|. .=o . o |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)