[Pdbg] [PATCH 3/3] libpdbg: Add thread_sreset_all() api to sreset all threads
Alistair Popple
alistair at popple.id.au
Thu Jul 4 14:19:35 AEST 2019
Reviewed-by: Alistair Popple <alistair at popple.id.au>
On Wednesday, 3 July 2019 5:20:26 PM AEST Amitay Isaacs wrote:
> Signed-off-by: Amitay Isaacs <amitay at ozlabs.org>
> ---
> libpdbg/chip.c | 12 ++++++++++++
> libpdbg/libpdbg.h | 1 +
> 2 files changed, 13 insertions(+)
>
> diff --git a/libpdbg/chip.c b/libpdbg/chip.c
> index 9034cb6..03de44f 100644
> --- a/libpdbg/chip.c
> +++ b/libpdbg/chip.c
> @@ -154,6 +154,18 @@ int thread_sreset(struct pdbg_target *thread_target)
> return thread->sreset(thread);
> }
>
> +int thread_sreset_all(void)
> +{
> + struct pdbg_target *thread;
> + int rc = 0;
> +
> + pdbg_for_each_class_target("thread", thread) {
> + rc |= thread_sreset(thread);
> + }
> +
> + return rc;
> +}
> +
> /*
> * RAMs the opcodes in *opcodes and store the results of each opcode
> * into *results. *results must point to an array the same size as
> diff --git a/libpdbg/libpdbg.h b/libpdbg/libpdbg.h
> index 9dd012d..ad43469 100644
> --- a/libpdbg/libpdbg.h
> +++ b/libpdbg/libpdbg.h
> @@ -198,6 +198,7 @@ int thread_start(struct pdbg_target *target);
> int thread_step(struct pdbg_target *target, int steps);
> int thread_stop(struct pdbg_target *target);
> int thread_sreset(struct pdbg_target *target);
> +int thread_sreset_all(void);
> struct thread_state thread_status(struct pdbg_target *target);
>
> int getring(struct pdbg_target *chiplet_target, uint64_t ring_addr,
> uint64_t ring_len, uint32_t result[]);
More information about the Pdbg
mailing list