diff options
author | Paul Selkirk <paul@psgd.org> | 2019-04-09 18:06:24 -0400 |
---|---|---|
committer | Paul Selkirk <paul@psgd.org> | 2019-04-09 18:06:24 -0400 |
commit | 411b5a9ee7d28d2bce9b297a865132e39712d93b (patch) | |
tree | 4a11012fc16157febc4b4bdebd538a7a57c6d915 | |
parent | 51d57abc29ae9763c9eecf5742eb8f382f057916 (diff) | |
parent | e4fa00258cd920d4ea91b024ee007f5b44bac196 (diff) |
Rebase branch 'js_keywrap' from master.js_keywrap
-rw-r--r-- | hal.h | 3 | ||||
-rw-r--r-- | hal_io_fmc.c | 18 |
2 files changed, 21 insertions, 0 deletions
@@ -121,6 +121,9 @@ #define KEYWRAP_NAME "key wrap" #define KEYWRAP_VERSION "0.70" +#define KEYWRAP_NAME "key wrap" +#define KEYWRAP_VERSION "0.70" + /* * C API error codes. Defined in this form so we can keep the tokens * and error strings together. See errorstrings.c. diff --git a/hal_io_fmc.c b/hal_io_fmc.c index c8d92ec..590532b 100644 --- a/hal_io_fmc.c +++ b/hal_io_fmc.c @@ -123,7 +123,16 @@ hal_error_t hal_io_write(const hal_core_t *core, hal_addr_t offset, const uint8_ dump("write ", offset + hal_core_base(core), buf, len); offset = fmc_offset(offset + hal_core_base(core)); +<<<<<<< HEAD fmc_fpga_memcpy((uint32_t *)fmc_fpga_addr(offset), (uint32_t *)buf, len/4); +======= + for (; len > 0; offset += 4, buf += 4, len -= 4) { + uint32_t val; + val = htonl(*(uint32_t *)buf); + if (fmc_write_32(offset, val) != 0) + return HAL_ERROR_IO_TIMEOUT; + } +>>>>>>> e4fa00258cd920d4ea91b024ee007f5b44bac196 return HAL_OK; } @@ -144,7 +153,16 @@ hal_error_t hal_io_read(const hal_core_t *core, hal_addr_t offset, uint8_t *buf, dump("read ", offset + hal_core_base(core), buf, len); offset = fmc_offset(offset + hal_core_base(core)); +<<<<<<< HEAD fmc_fpga_memcpy((uint32_t *)buf, (uint32_t *)fmc_fpga_addr(offset), len/4); +======= + for (; rlen > 0; offset += 4, rbuf += 4, rlen -= 4) { + uint32_t val; + if (fmc_read_32(offset, &val) != 0) + return HAL_ERROR_IO_TIMEOUT; + *(uint32_t *)rbuf = ntohl(val); + } +>>>>>>> e4fa00258cd920d4ea91b024ee007f5b44bac196 return HAL_OK; } |