diff options
author | Alistair Popple <alistair@popple.id.au> | 2018-04-27 14:08:51 +1000 |
---|---|---|
committer | Alistair Popple <alistair@popple.id.au> | 2018-04-27 14:08:51 +1000 |
commit | ad058f045c4403346c92ddd9115397a939b44a79 (patch) | |
tree | 83659a06243db24d7d860c59af7d343bb02bd03a /libpdbg/chip.c | |
parent | d74029ccdd3bb680e3753a07df4ff60c3e18aea2 (diff) | |
download | pdbg-ad058f045c4403346c92ddd9115397a939b44a79.tar.gz pdbg-ad058f045c4403346c92ddd9115397a939b44a79.zip |
libpdbg: Add support for getring on POWER9
Add basic support for a getring operation on POWER9.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
Diffstat (limited to 'libpdbg/chip.c')
-rw-r--r-- | libpdbg/chip.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libpdbg/chip.c b/libpdbg/chip.c index 06ea4e9..79bc87d 100644 --- a/libpdbg/chip.c +++ b/libpdbg/chip.c @@ -272,3 +272,15 @@ int ram_getmem(struct pdbg_target *thread, uint64_t addr, uint64_t *value) *value = results[3]; return 0; } + +/* + * Read the given ring from the given chiplet. Result must be large enough to hold ring_len bits. + */ +int getring(struct pdbg_target *chiplet_target, uint64_t ring_addr, uint64_t ring_len, uint32_t result[]) +{ + struct chiplet *chiplet; + + assert(!strcmp(chiplet_target->class, "chiplet")); + chiplet = target_to_chiplet(chiplet_target); + return chiplet->getring(chiplet, ring_addr, ring_len, result); +} |