aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hal.h3
-rw-r--r--hal_io_fmc.c18
2 files changed, 21 insertions, 0 deletions
diff --git a/hal.h b/hal.h
index ca96ae6..6331e3d 100644
--- a/hal.h
+++ b/hal.h
@@ -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;
}