diff options
author | Igor Opaniuk | 2017-07-14 09:09:33 -0500 |
---|---|---|
committer | Jérôme Forissier | 2017-07-25 10:26:22 -0500 |
commit | 32d9b77918ee634d1a16299164b543d628291123 (patch) | |
tree | f625b4b501f7a03ff98165350734efd2396b1776 | |
parent | 0efaf6bae1066d06a075d1f4fe1011b8b3576f75 (diff) | |
download | ti-optee-client-32d9b77918ee634d1a16299164b543d628291123.tar.gz ti-optee-client-32d9b77918ee634d1a16299164b543d628291123.tar.xz ti-optee-client-32d9b77918ee634d1a16299164b543d628291123.zip |
rpi3: fix unsupported exclusive access issue
Fix unsupported exclusive issue , which occurs when using gcc builtin
atomic
__sync_fetch_and_add();, which is unfolded into LDXR/STLXR pair
(aarch64).
Currently, __sync_fetch_and_add() is used in bm_timestamp() for updating
head/tail
of timestamp per-cpu ringbuffers.
Fixes: https://github.com/OP-TEE/optee_client/issues/99
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org>
-rw-r--r-- | libteec/src/teec_benchmark.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libteec/src/teec_benchmark.c b/libteec/src/teec_benchmark.c index ae63297b..3dc5a790 100644 --- a/libteec/src/teec_benchmark.c +++ b/libteec/src/teec_benchmark.c | |||
@@ -121,7 +121,7 @@ static void *mmap_paddr(intptr_t paddr, uint64_t size) | |||
121 | off_t page_addr; | 121 | off_t page_addr; |
122 | intptr_t *hw_addr = (intptr_t *)paddr; | 122 | intptr_t *hw_addr = (intptr_t *)paddr; |
123 | 123 | ||
124 | devmem = open("/dev/mem", O_RDWR | O_SYNC); | 124 | devmem = open("/dev/mem", O_RDWR); |
125 | if (!devmem) | 125 | if (!devmem) |
126 | return NULL; | 126 | return NULL; |
127 | 127 | ||