since we disable find_package(libmetal) so we need to set
open_amp target include dirs link to metal target
Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
fix nuttx/openamp/libmetal/lib/cpu.h don't have <metal/processor/generic/cpu.h>
error, let's use generic/cpu.h for all arch in NuttX
Signed-off-by: wangyongrong <wangyongrong@xiaomi.com>
New OpenAMP change the VIRTIO_DRIVER/DEVICE_ONLY to the
VIRTIO_DRIVER_DEVCE_SUPPORT, so upgrade the NuttX OpenAMP config too
Signed-off-by: wangyongrong <wangyongrong@xiaomi.com>
Upgrade the openamp is a troublesome thing, so diretly sync the
open-amp and libmetal the newest commit.
We can update the commit and remove the patch when this patch has
been merged in the OpenAMP repo.
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
OPENAMP_VIRTIO_DEVICE_ONLY and OPENAMP_VIRTIO_DRIVER_ONLY can be used to
comment some unused code in OpenAMP library to save code size.
Signed-off-by: Yongrong Wang <wangyongrong@xiaomi.com>
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
Revert "Parallelize depend file generation"
This reverts commit d5b6ec450f.
parallel depend ddc does not significantly speed up compilation,
intermediately generated .ddc files can cause problems if compilation is interrupted unexpectedly
Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
Summary:
1. use nuttx/atomic.h instead of stdatomic
2. remove CONFIG_HAVE_ATOMIC,because we now support atomic on all platforms
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
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>
1. Update all CMakeLists.txt to adapt to new layout
2. Fix cmake build break
3. Update all new file license
4. Fully compatible with current compilation environment(use configure.sh or cmake as you choose)
------------------
How to test
From within nuttx/. Configure:
cmake -B build -DBOARD_CONFIG=sim/nsh -GNinja
cmake -B build -DBOARD_CONFIG=sim:nsh -GNinja
cmake -B build -DBOARD_CONFIG=sabre-6quad/smp -GNinja
cmake -B build -DBOARD_CONFIG=lm3s6965-ek/qemu-flat -GNinja
(or full path in custom board) :
cmake -B build -DBOARD_CONFIG=$PWD/boards/sim/sim/sim/configs/nsh -GNinja
This uses ninja generator (install with sudo apt install ninja-build). To build:
$ cmake --build build
menuconfig:
$ cmake --build build -t menuconfig
--------------------------
2. cmake/build: reformat the cmake style by cmake-format
https://github.com/cheshirekow/cmake_format
$ pip install cmakelang
$ for i in `find -name CMakeLists.txt`;do cmake-format $i -o $i;done
$ for i in `find -name *\.cmake`;do cmake-format $i -o $i;done
Co-authored-by: Matias N <matias@protobits.dev>
Signed-off-by: chao an <anchao@xiaomi.com>
Patch 17:
virtio: follow virtio 1.2 spec, add more virtio status and device
Patch 18:
virtio: decoupling the transport layer and virtio device layer
1. Add virtio device api to decouple the transport layer and virtio
device layer.
2. Move the vrings info and virtqueue allocation/free to the
remoteproc transport layer;
3. Because 2, modify the rpmsg device also;
Signed-off-by: wangbowen6 <wangbowen6@xiaomi.com>
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>
Make.dep file should be updated by .config changed after first make.
There are 2 cases affected for this problem:
1) Add source files by config symbol
2) Include header files in #ifdef directive
These 2 cases may not be included in Make.dep and this may prevent the
differential build from working correctly.