diff options
| author | Amitay Isaacs <amitay@ozlabs.org> | 2019-01-07 15:30:19 +1100 |
|---|---|---|
| committer | Alistair Popple <alistair@popple.id.au> | 2019-03-26 11:52:44 +1100 |
| commit | 433a51007f4edc39f0f26daf56d4a88426efe957 (patch) | |
| tree | 4e613003f1f571ca059e4de211b384d578831687 | |
| parent | 88c92416f9eac268bb3cbc431b20b36d16f89f5b (diff) | |
| download | pdbg-433a51007f4edc39f0f26daf56d4a88426efe957.tar.gz pdbg-433a51007f4edc39f0f26daf56d4a88426efe957.zip | |
adu: Add new api for memory read/write
Signed-off-by: Amitay Isaacs <amitay@ozlabs.org>
| -rw-r--r-- | libpdbg/libpdbg.h | 3 | ||||
| -rw-r--r-- | libpdbg/target.c | 20 |
2 files changed, 23 insertions, 0 deletions
diff --git a/libpdbg/libpdbg.h b/libpdbg/libpdbg.h index ee8437f..b332a7e 100644 --- a/libpdbg/libpdbg.h +++ b/libpdbg/libpdbg.h @@ -221,6 +221,9 @@ int __adu_getmem(struct pdbg_target *target, uint64_t addr, uint8_t *ouput, int __adu_putmem(struct pdbg_target *target, uint64_t addr, uint8_t *input, uint64_t size, bool ci); +int mem_read(struct pdbg_target *target, uint64_t addr, uint8_t *output, uint64_t size, uint8_t block_size, bool ci); +int mem_write(struct pdbg_target *target, uint64_t addr, uint8_t *input, uint64_t size, uint8_t block_size, bool ci); + int opb_read(struct pdbg_target *target, uint32_t addr, uint32_t *data); int opb_write(struct pdbg_target *target, uint32_t addr, uint32_t data); diff --git a/libpdbg/target.c b/libpdbg/target.c index af9199d..e678470 100644 --- a/libpdbg/target.c +++ b/libpdbg/target.c @@ -216,6 +216,26 @@ int fsi_write(struct pdbg_target *fsi_dt, uint32_t addr, uint32_t data) return fsi->write(fsi, addr64, data); } +int mem_read(struct pdbg_target *target, uint64_t addr, uint8_t *output, uint64_t size, uint8_t block_size, bool ci) +{ + struct adu *adu; + + assert(pdbg_target_is_class(target, "adu")); + adu = target_to_adu(target); + + return adu->read(adu, addr, output, size, block_size, ci); +} + +int mem_write(struct pdbg_target *target, uint64_t addr, uint8_t *input, uint64_t size, uint8_t block_size, bool ci) +{ + struct adu *adu; + + assert(pdbg_target_is_class(target, "adu")); + adu = target_to_adu(target); + + return adu->write(adu, addr, input, size, block_size, ci); +} + struct pdbg_target *require_target_parent(struct pdbg_target *target) { assert(target->parent); |

