No symbols from rsc_table.h are used in linux_rpc_demo.c and
the demo fails to build for Zynq, ZynqMP, and Versal systems.
Remove include rsc_table.h.
Signed-off-by: Sergei Korneichuk <sergei.korneichuk@amd.com>
In line with the terminology changes proposed by the OpenAMP
Technical Steering committee. Suppress "master and "slave" terms
in comments and documentations.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
While building the Xilinx R5 demo apps, the following error message
occurs:
CMake Error at apps/examples/echo/CMakeLists.txt:38 (add_executable):
Target "rpmsg-echo.out" links to item " -Wl,--defsym,_rsc_table=0x3ed20000
-T"/OpenAMP-Project/gh3/open-amp/apps/system/generic/machine/zynqmp_r5/
linker_remote.ld""
which has leading or trailing whitespace. This is now an error according
to policy CMP0004.
Remove the leading space.
Signed-off-by: Ed Mooring <ed.mooring@gmail.com>
In line with the terminology changes proposed by the OpenAMP
Technical Steering committe. Change VIRTIO_SLAVE_ONLY to
VIRTIO_DEVICE_ONLY. On linux, the two ends of the virtio communication
path are referred to as the "driver" (Linux), and the "device", in this
case running on the remote processor.
Terminology: Replace VIRTIO_MASTER_ONLY with VIRTIO_DRIVER_ONLY.
Terminology: Replace VIRTIO_DEV_SLAVE with VIRTIO_DEV_DEVICE
Terminology: Replace VIRTIO_DEV_MASTER with VIRTIO_DEV_DRIVER.
Apps: Fix variable names
Per guidance from the Technical Steering Committee, replace "master" and
"slave" with more appropriate terms.
lib: Replace RPMSG_MASTER with RPMSG_HOST
cmake: Change option names from "master", "slave" to "driver", "device".
Apps: Cleanup terminology
README: Update variable names to match the code.
Terminology: Add deprecation warnings to configuration variables.
Warn the user if they use the older, possibly offensively
named configuration variables.
Terminology: Clean up deprecation warnings.
CMake: Default deprecated configuration variables to off.
Make the deprecated WITH_VIRTIO_MASTER and WITH_VIRTIO_SLAVE
configuration variables default to OFF. This means that only deliberate
use of those variables will trigger the deprecation warning.
Terminology: Replace compiler-specific warnings with #warning.
In warning about deprecated constant names, change from
compiler-specific compile time warnings to the standard #warning.
fixup! Terminology: Replace potentially offensive terms in the code.
Fix the compilation error in zephyr by declaring a deprecated function
Deprecated message generated:
zephyr/samples/subsys/ipc/openamp_rsc_table/src/main_remote.c: In function 'rpmsg_mng_task':
zephyr/samples/subsys/ipc/openamp_rsc_table/src/main_remote.c:351:2: warning: 'deprecated_virtio_dev_slave' is deprecated [-Wdeprecated-declarations]
351 | rpdev = platform_create_rpmsg_vdev(0, VIRTIO_DEV_SLAVE, NULL,
| ^~~~~
In file included from modules/lib/open-amp/open-amp/lib/include/openamp/rpmsg_virtio.h:18,
from modules/lib/open-amp/open-amp/lib/include/openamp/open_amp.h:12,
from zephyr/samples/subsys/ipc/openamp_rsc_table/src/main_remote.c:15:
modules/lib/open-amp/open-amp/lib/include/openamp/virtio.h:49:32: note: declared here
49 | __deprecated static inline int deprecated_virtio_dev_slave(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
fixup! Terminology: Replace potentially offensive terms in the code.
miscellaneous update
Signed-off-by: Ed Mooring <ed.mooring@gmail.com>
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Currently the resource table location in the firmware is hard-coded.
Preserve the current functionality by adding a default value.
Allow user to overwrite the default resource table location by adding the
CMake property:
set(RSC_TABLE <address> CACHE STRING "")
Signed-off-by: Ben Levinsky <ben.levinsky@xilinx.com>
Added linux_rpc_demo and linux_rpc_demod for rpc communication
between linux master and slave configuration
Signed-off-by: ViswaHarsha C <cviswa.harsha_ext@ltts.com>
Add library information used for the demo. This used to provide
an examples of the new version API use.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Enhance the ping to add the usage of rpmsg_hold_rx_buffer and
rpmsg_release_rx_buffer to treat the message outside of the
callback function.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
Add the ping responder that uses the nocpy API to process the message
outside of the receive callback.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
Move the test to exemple folder to prepare an exemple that involves the
TX and RX nocopy API.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
The GCC compiler complains about the printf of a size_t variable.
add 'z' length modifier to fix the warning.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
As rproc is needed to remove virtio device from remoteproc_virtio device
make sure this is handed off too
Signed-off-by: Ben Levinsky <ben.levinsky@xilinx.com>
Add an example of a baremetal echo server running on a MicroBlaze in PL
on a ZynqMP board and using RPMSG (with NO_IPI) to reply to a Linux user
space app running in the PS APU.
Signed-off-by: Ben Levinsky <ben.levinsky@xilinx.com>
Signed-off-by: Sergei Korneichuk <sergei.korneichuk@xilinx.com>
Signed-off-by: Ed Mooring <ed.mooring@xilinx.com>
Update remote(r5) of OpenAMP demos so that it can fully support running
with notification mechanism of IPI and Shared memory with polling
Signed-off-by: Ben Levinsky <ben.levinsky@xilinx.com>
Update Linux-side of OpenAMP demos so that it can fully support running
with notification mechanism of IPI and Shared memory with polling
Signed-off-by: Ben Levinsky <ben.levinsky@xilinx.com>
When building OpenAMP apps for FreeRTOS on Xilinx hardware, there
were compile errors due to EINVAL not being defined. On other
platforms, <errno.h> was implicitly included by OpenAMP header
files. This change explicitly includes it where it is needed
in the code.
There is one exception, load_fw/commmon.h has <errno.h> added,
since all common include files are placed there.
Signed-off-by: Ed Mooring <ed.mooring@linaro.org>
The current implementation presumes the presence of IPI in hardware
design. Add switch on Linux side to enable instead polling of shared
memory if there is no IPI, IRQ, etc. available.
Signed-off-by: Ben Levinsky <ben.levinsky@xilinx.com>
The current implementation presumes the presence of IPI in hardware
design. Add switch to enable instead polling of shared memory if
there is no IPI, IRQ, etc. available.
Signed-off-by: Ben Levinsky <ben.levinsky@xilinx.com>
Fix a compilation error due to a non-existent header file. This
was due to accidentally committing part of an experimental change
to the libmetal shared memory API.
Signed-off-by: Ed Mooring <ed.mooring@linaro.org>
This provides bug fixes and enhancements to the Xilinx-specific example
code, and a couple of small fixes to the linux example code.
Signed-off-by: Ed Mooring <ed.mooring@linaro.org>
If the memory is not normal memory, memcmp will not work.
Compare the received buffers byte by byte.
Signed-off-by: Wendy Liang <wendy.liang@xilinx.com>