Commit Graph

21 Commits

Author SHA1 Message Date
chao an
ab51eae836 libmetal/atomic: enable 64-bit atomic by toolchain builtin flags
Fix compile error:
arm-none-eabi-ld: (remoteproc_virtio.o): in function `metal_io_read':
metal/io.h:252: undefined reference to `__atomic_load_8'
arm-none-eabi-ld: (remoteproc_virtio.o): in function `metal_io_write':
metal/io.h:290: undefined reference to `__atomic_store_8'

Not all 32-bit architectures support 64bit atomic, gcc/clang
toolchains have built-in properties to indicate whether support atomic64:

| $ arm-none-eabi-gcc -march=armv7e-m  -dM -E - < /dev/null | grep SYNC
| #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
| #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
| #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1

Signed-off-by: chao an <anchao@lixiang.com>
2024-06-29 22:38:48 +08:00
chao an
ec150b21d9 Revert "Check whether 64-bit atomic is supported"
Signed-off-by: chao an <anchao@lixiang.com>
2024-06-29 22:38:48 +08:00
xuxin19
0e8aecfe64 cmake:reuse OpenAMP own CMake script for CMake build
Check whether 64-bit atomic is supported

Co-authored-by: xuxin19 <xuxin19@xiaomi.com>
Co-authored-by: Bowen Wang <wangbowen6@xiaomi.com>
2024-06-26 00:22:03 +08:00
Jukka Laitinen
72f9bd142f openamp: Fix void pointer arithmetic in openamp to remove compilation warnings
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2024-02-12 17:06:33 +01:00
Bowen Wang
8ed836f05e openamp/libmetal: aligned io read/write when size=1,2,3,4
Make NuttX implemented metal io read/write to aligned access

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2023-11-17 09:42:52 +01:00
ligd
378470f611 add remote poweroff support
Signed-off-by: yintao <yintao@xiaomi.com>
2023-09-20 00:42:02 +08:00
Zhe Weng
fef52b11ee openamp/libmetal: Check CONFIG_HAVE_ATOMICS instead of HAVE_STDATOMIC_H in atomic.h
When we use libmetal with other headers using stdatomic.h, we'll get
symbol conflict if we don't enable HAVE_STDATOMIC_H in libmetal.  The
best solution might be using cmake to detect headers automatically, but
we can't.  Fortunately we have CONFIG_HAVE_ATOMICS macro now, which can
replace HAVE_STDATOMIC_H when we're not using cmake.

Note: 2-Steps to use CONFIG_HAVE_ATOMICS
1. Include compiler.h for CONFIG_HAVE_ATOMICS definition
2. Check CONFIG_HAVE_ATOMICS instead of HAVE_STDATOMIC_H

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-07-10 20:44:16 +08:00
wangbowen6
52525796ab openamp: libmetal compile pass with arm64 arch
Signed-off-by: wangbowen6 <wangbowen6@xiaomi.com>
2023-03-21 07:43:20 +01:00
Karel Kočí
62661600b2 treewide: add DOWNLOAD variable as unification of curl call
This is a followup to the commit
03b164f59c.
2023-03-08 17:05:05 +08:00
Xiang Xiao
fdc1aa6ae3 openamp: don't depend on pen-amp.zip and libmetal.zip in the git mode
since both don't exist in this mode

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-08 09:54:00 +01:00
Peter Bee
9c7bb9e088 openamp/libmetal: support other arch sim host
Add support for x86, arm and arm64 host. Tested on M2 mac.

Signed-off-by: Peter Bee <bijunda1@xiaomi.com>
2022-10-11 14:58:51 +09:00
Huang Qi
e0185faa78 Don't download tarballs if a local git repo found
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-08-28 03:07:58 +08:00
Xiang Xiao
a941c93f72 openamp: Move the download to context target
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-29 20:02:24 +02:00
Xiang Xiao
f8f1270f9b openamp: Update to 2020.10.0 official release
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-05-13 18:43:19 +01:00
Huang Qi
073912e232 Replace all wget with curl
wget is missing from some system (like macOS and Windows native),
it's better to use curl to simplify build environment.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2020-12-22 03:36:10 -06:00
Xiang Xiao
ae356001cf Change all files come from Xiaomi/Pinecone to Apache License 2.0
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-08-22 17:37:21 -06:00
Xiang Xiao
517974787f Rename clock_systime[r|spec] to clock_systime_[ticks|timespec]
follow up the new naming convention:
https://cwiki.apache.org/confluence/display/NUTTX/Naming+of+OS+Internal+Functions
2020-05-10 14:35:50 -06:00
Xiang Xiao
610fa1aadc openamp: Fix libmetal build break for arm
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-08 12:34:51 +02:00
Xiang Xiao
17112f4eed openamp: Update to 2020.04.0 release
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-01 13:09:11 -06:00
Xiang Xiao
2bfc03f636 openamp: Download libmetal and open-amp from github
and apply the patch which is pending merge to upstream

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-04-27 20:21:23 +08:00
hao.an
4d64634137 openamp/: Add Makefile defines. 2019-11-10 08:09:32 -06:00