Skip to content

Commit 17b64ba

Browse files
galakMaureenHelm
authored andcommitted
ext: Import OpenAMP for IPC
Origin: https://github.com/OpenAMP/open-amp Status: de361adee09cd31793c60218a0ec49bc307a7410 [v2018.04] When we import open-amp we removed the apps dir to reduce the amount of code imported. Purpose: IPC layer that implements rpmsg communication between cores. Description: This repository is the home for the Open Asymmetric Multi Processing (OpenAMP) framework project. The OpenAMP framework provides software components that enable development of software applications for Asymmetric Multiprocessing (AMP) systems. The framework provides the following key capabilities. * Provides Life Cycle Management, and Inter Processor Communication capabilities for management of remote compute resources and their associated software contexts. * Provides a stand alone library usable with RTOS and Baremetal software environments * Compatibility with upstream Linux remoteproc and rpmsg components * Following AMP configurations supported: a. Linux master/Generic(Baremetal) remote b. Generic(Baremetal) master/Linux remote * Proxy infrastructure and supplied demos showcase ability of proxy on master to handle printf, scanf, open, close, read, write calls from Bare metal based remote contexts. Dependencies: libmetal (https://github.com/OpenAMP/libmetal) - provides HAL layer between OpenAMP and RTOS or OS environment. URL: https://github.com/OpenAMP/open-amp/ commit: de361adee09cd31793c60218a0ec49bc307a7410 Maintained-by: External License: BSD-3-Clause BSD-2-Clause Signed-off-by: Kumar Gala <[email protected]>
1 parent 3ddfd17 commit 17b64ba

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+10677
-0
lines changed

ext/lib/ipc/README.open-amp

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
OpenAMP
2+
#####################
3+
4+
Origin:
5+
https://github.com/OpenAMP/open-amp
6+
7+
Status:
8+
de361adee09cd31793c60218a0ec49bc307a7410 [v2018.04]
9+
10+
When we import open-amp we removed the apps dir to reduce the amount of
11+
code imported.
12+
13+
Purpose:
14+
IPC layer that implements rpmsg communication between cores.
15+
16+
Description:
17+
18+
This repository is the home for the Open Asymmetric Multi Processing (OpenAMP)
19+
framework project. The OpenAMP framework provides software components that
20+
enable development of software applications for Asymmetric Multiprocessing
21+
(AMP) systems. The framework provides the following key capabilities.
22+
23+
* Provides Life Cycle Management, and Inter Processor Communication capabilities
24+
for management of remote compute resources and their associated software
25+
contexts.
26+
* Provides a stand alone library usable with RTOS and Baremetal software
27+
environments
28+
* Compatibility with upstream Linux remoteproc and rpmsg components
29+
* Following AMP configurations supported:
30+
a. Linux master/Generic(Baremetal) remote
31+
b. Generic(Baremetal) master/Linux remote
32+
* Proxy infrastructure and supplied demos showcase ability of proxy on master
33+
to handle printf, scanf, open, close, read, write calls from Bare metal
34+
based remote contexts.
35+
36+
Dependencies:
37+
libmetal (https://github.com/OpenAMP/libmetal) - provides HAL layer
38+
between OpenAMP and RTOS or OS environment.
39+
40+
URL:
41+
https://github.com/OpenAMP/open-amp/
42+
43+
commit:
44+
de361adee09cd31793c60218a0ec49bc307a7410
45+
46+
Maintained-by:
47+
External
48+
49+
License:
50+
BSD-3-Clause
51+
BSD-2-Clause
52+
53+
License Link:
54+
https://github.com/OpenAMP/open-amp/blob/master/LICENSE.md

ext/lib/ipc/open-amp.cmake

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
include(ExternalProject)
2+
3+
include($ENV{ZEPHYR_BASE}/ext/lib/ipc/libmetal.cmake)
4+
5+
ExternalProject_Add(
6+
open-amp
7+
SOURCE_DIR $ENV{ZEPHYR_BASE}/ext/lib/ipc/open-amp/
8+
DEPENDS libmetal
9+
INSTALL_COMMAND "" # This particular build system has no install command
10+
CMAKE_ARGS -DWITH_ZEPHYR=ON -DWITH_PROXY=OFF -DBOARD=${BOARD} -DLIBMETAL_INCLUDE_DIR=${LIBMETAL_INCLUDE_DIR} -DLIBMETAL_LIB=${LIBMETAL_LIBRARY}
11+
)
12+
13+
ExternalProject_Get_property(open-amp SOURCE_DIR)
14+
set(OPENAMP_INCLUDE_DIR ${SOURCE_DIR}/lib/include CACHE PATH "Path to the OpenAMP header files")
15+
ExternalProject_Get_property(open-amp BINARY_DIR)
16+
set(OPENAMP_LIBRARY ${BINARY_DIR}/lib/libopen_amp.a CACHE FILEPATH "Path to the OpenAMP library")
17+

ext/lib/ipc/open-amp/.gitignore

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
*.o
2+
*~
3+
!libs/system/zc702evk/linux/lib/*/*.a
4+
*.bin
5+
*.map
6+
*.out
7+
*.log
8+
*.d
9+
10+
/tags
11+
/TAGS
12+
13+
# cscope files
14+
cscope.*
15+
ncscope.*

ext/lib/ipc/open-amp/CMakeLists.txt

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
cmake_minimum_required (VERSION 2.6)
2+
3+
4+
# The version number
5+
set (OPENAMP_VERSION_MAJOR 1)
6+
set (OPENAMP_VERSION_MINOR 0)
7+
8+
list (APPEND CMAKE_MODULE_PATH
9+
"${CMAKE_SOURCE_DIR}/cmake"
10+
"${CMAKE_SOURCE_DIR}/cmake/modules"
11+
"${CMAKE_SOURCE_DIR}/cmake/platforms")
12+
13+
include (syscheck)
14+
project (open_amp C)
15+
16+
include (CheckIncludeFiles)
17+
include (CheckCSourceCompiles)
18+
include (collect)
19+
include (options)
20+
include (depends)
21+
enable_testing ()
22+
23+
set (OPENAMP_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
24+
set (OPENAMP_BIN_ROOT "${CMAKE_CURRENT_BINARY_DIR}")
25+
26+
if (WITH_OBSOLETE)
27+
add_subdirectory (obsolete)
28+
endif (WITH_OBSOLETE)
29+
30+
add_subdirectory (lib)
31+
32+
if (WITH_APPS)
33+
add_subdirectory (apps)
34+
endif (WITH_APPS)
35+
36+
# vim: expandtab:ts=2:sw=2:smartindent

ext/lib/ipc/open-amp/LICENSE

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
Software License Agreement (BSD License)
2+
========================================
3+
4+
Copyright (c) 2014, Mentor Graphics Corporation. All rights reserved.
5+
Copyright (c) 2015 - 2016 Xilinx, Inc. All rights reserved.
6+
Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved
7+
8+
Redistribution and use in source and binary forms, with or without
9+
modification, are permitted provided that the following conditions are met:
10+
11+
1. Redistributions of source code must retain the above copyright notice,
12+
this list of conditions and the following disclaimer.
13+
14+
2. Redistributions in binary form must reproduce the above copyright notice,
15+
this list of conditions and the following disclaimer in the documentation
16+
and/or other materials provided with the distribution.
17+
18+
3. The names of its contributors may not be used to endorse or promote
19+
products derived from this software without specific prior written
20+
permission.
21+
22+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25+
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
26+
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27+
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28+
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29+
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30+
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31+
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32+
POSSIBILITY OF SUCH DAMAGE.
33+

ext/lib/ipc/open-amp/MAINTAINERS.md

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# OpenAMP Maintainers
2+
3+
OpenAMP project is maintained by the OpenAMP open source community. Everyone
4+
is encouraged to submit issues and changes to improve OpenAMP.
5+
6+
The intention of this file is to provide a set of names that developers can
7+
consult when they have a question about OpenAMP and to provide a a set of
8+
names to be CC'd when submitting a patch.
9+
10+
11+
## Project Administration
12+
Wendy Liang <[email protected]>
13+
14+
### All patches CC here
15+
16+
17+
## Machines
18+
### Xilinx Platform - Zynq-7000
19+
Wendy Liang <[email protected]>
20+
21+
### Xilinx Platform - Zynq UltraScale+ MPSoC
22+
Wendy Liang <[email protected]>

0 commit comments

Comments
 (0)