Android: Added support for MessageQ
Support for MessageQ and related application(LAD) was added for Android.
Android specific build files have been created/modified to build all
user-side libraries (libmmrpc, libtiipc, libtiutils) and applications
from within the Android filesystem. This include test apps (MesssageQ*).
A few changes were also needed by the common source files that
are shared across Linux and Android builds.
Support for MessageQ and related application(LAD) was added for Android.
Android specific build files have been created/modified to build all
user-side libraries (libmmrpc, libtiipc, libtiutils) and applications
from within the Android filesystem. This include test apps (MesssageQ*).
A few changes were also needed by the common source files that
are shared across Linux and Android builds.
Linux: Removed circular dependencies from ipc libs
The circular dependencies between libtiipc and libtiipcutils has
been removed by moving the assignment of the user side application's
MultiProc config structure to the libtiipcutils library via a new
function (_MultiProc_initCfg).
This also forces the creation of a LAD specific libtiipcutils library
(libtiipcutils_lad), which the daemon needs to link against.
The circular dependencies between libtiipc and libtiipcutils has
been removed by moving the assignment of the user side application's
MultiProc config structure to the libtiipcutils library via a new
function (_MultiProc_initCfg).
This also forces the creation of a LAD specific libtiipcutils library
(libtiipcutils_lad), which the daemon needs to link against.
Test: Add autotools-generated Makefile.in
This is the second half of the Makefile.am changes in
47557586d086d61d2c361796388a61598563b413. That commit changed
Makefile.am, this commit is the associated, generated Makefile.am.
This is the second half of the Makefile.am changes in
47557586d086d61d2c361796388a61598563b413. That commit changed
Makefile.am, this commit is the associated, generated Makefile.am.
Implement reference counting in NameServer_create/delete (SDOCM00103730)
Add headers and libs to QNX 'make install'
Export MessageQ-related headers and libs for QNX. Also clean
up exported files in general to remove headers that are not needed.
This addresses SDOCM00102141.
Export MessageQ-related headers and libs for QNX. Also clean
up exported files in general to remove headers that are not needed.
This addresses SDOCM00102141.
New unit test for MessageQ delivery.
This test validates SDOCM00103664 MessageQ_get() can discard
msgs when a msg is available from more than one remote core.
This test validates SDOCM00103664 MessageQ_get() can discard
msgs when a msg is available from more than one remote core.
Android.mk: remove HEAPTRACK library dependency
BUILD_HEAPTRACKED_SHARED_LIBRARY is a local define
in hardware/ti/omap4xxx. using this build macro inside
ipc component, unnecessarily creates build dependency with
omap4xx path. And this heaptrack feature is not required
for ipc. Hence removed the HEAPTRACK option.
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
BUILD_HEAPTRACKED_SHARED_LIBRARY is a local define
in hardware/ti/omap4xxx. using this build macro inside
ipc component, unnecessarily creates build dependency with
omap4xx path. And this heaptrack feature is not required
for ipc. Hence removed the HEAPTRACK option.
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Build: Enable builds without SMP support
Some customers (including the TI RTOS SDK) do not use SMP
BIOS and therefore don't require the libraries. To improve
build times and reduce the disk size for these users, a
new variable, BIOS_SMPENABLED, was created in products.mak.
Its default value is 1 (enabled), which maintains the
behavior of previous releases. Setting it to 0 disables
the build of SMP-enabled libraries.
Note that some platforms require SMP libraries to be built,
otherwise their test executables may fail to build.
This resolves SDOCM00103413.
Some customers (including the TI RTOS SDK) do not use SMP
BIOS and therefore don't require the libraries. To improve
build times and reduce the disk size for these users, a
new variable, BIOS_SMPENABLED, was created in products.mak.
Its default value is 1 (enabled), which maintains the
behavior of previous releases. Setting it to 0 disables
the build of SMP-enabled libraries.
Note that some platforms require SMP libraries to be built,
otherwise their test executables may fail to build.
This resolves SDOCM00103413.
MessageQ: Fix MessageQ_get() dropping messages
MessageQ_get() had a bug where it would loop over all remote cores
looking for and getting a message and would return the message from
the highest numbered processor (in MultiProc order) that had one
available, tossing messages received from lower numbered processors.
The MessageQ_get() loop now terminates as soon as the first message
is found. Further to this change, on the next call to the function
it starts looking for messages from the processor that is "next" in
the (cyclic) list after the one in which it last found a message.
Fixes SDOCM00103664.
Signed-off-by: Robert Tivy <rtivy@ti.com>
MessageQ_get() had a bug where it would loop over all remote cores
looking for and getting a message and would return the message from
the highest numbered processor (in MultiProc order) that had one
available, tossing messages received from lower numbered processors.
The MessageQ_get() loop now terminates as soon as the first message
is found. Further to this change, on the next call to the function
it starts looking for messages from the processor that is "next" in
the (cyclic) list after the one in which it last found a message.
Fixes SDOCM00103664.
Signed-off-by: Robert Tivy <rtivy@ti.com>
MmRpc: updated to new Linux rpmsg_rpc.h API
Two structures changed a field name from reserved to fd.
Also aligned the QNX copy of this header to match.
Two structures changed a field name from reserved to fd.
Also aligned the QNX copy of this header to match.
NameServer: fix Linux-requested remote ns lookups
BIOS-side NameServerRemoteRpmsg.c was recently taught to
support NameServer lookups larger than 32 bits. Prior to
that education, it assumed all requestors were asking for
only 32 bits of NameServer data.
Linux must now indicate how big its NameServer buffer is
so the BIOS-side knows how to fill it. When this > 32-bit
lookup support was added, QNX was correctly modified; Linux
was overlooked.
For users, this commit fixes Linux NameServer lookups (which
most users see as MessageQ_open() calls) which have been broken
since 82e4969d635d0f6cbee3c6fcc3df3a7be39bc852. Tag-wise,
this Linux-only bug was introduced in the 3.10.00.06_eng build.
BIOS-side NameServerRemoteRpmsg.c was recently taught to
support NameServer lookups larger than 32 bits. Prior to
that education, it assumed all requestors were asking for
only 32 bits of NameServer data.
Linux must now indicate how big its NameServer buffer is
so the BIOS-side knows how to fill it. When this > 32-bit
lookup support was added, QNX was correctly modified; Linux
was overlooked.
For users, this commit fixes Linux NameServer lookups (which
most users see as MessageQ_open() calls) which have been broken
since 82e4969d635d0f6cbee3c6fcc3df3a7be39bc852. Tag-wise,
this Linux-only bug was introduced in the 3.10.00.06_eng build.
Fixed compiler warning when assigning buffer address to descriptor.
Linux: Removed install-hook to include *.la files
The Linux autotools install-hook to delete *la files as part of the
installation was removed.
The Linux autotools install-hook to delete *la files as part of the
installation was removed.
Dev: Add new QNX binaries to .gitignore
Removed unused IPU processor name from NotifySetup.
The IPU interrupt setup is not handled by the NotifySetup module.
In addition, the IPU references were incorrect for non-smp mode.
The IPU interrupt setup is not handled by the NotifySetup module.
In addition, the IPU references were incorrect for non-smp mode.
Build: Cosmetic changes to products.mak
Developers added the many variables to products.mak over time.
This commit tries to address inconsistencies throughout the file,
including:
* indication of optional variables
* descriptions of variables
* white space
It also moves the PLATFORM variable (used by both Linux and
BIOS) out of the Linux section and into a more common area.
Developers added the many variables to products.mak over time.
This commit tries to address inconsistencies throughout the file,
including:
* indication of optional variables
* descriptions of variables
* white space
It also moves the PLATFORM variable (used by both Linux and
BIOS) out of the Linux section and into a more common area.
OMAP5 QNX: Changed ipc.c to avoid calling GateMP since it is not yet supported
Signed-off-by: VW <vwan@ti.com>
Signed-off-by: VW <vwan@ti.com>
Fixed make install for QNX (Vayu) to export GateMPApp
Signed-off-by: VW <vwan@ti.com>
Signed-off-by: VW <vwan@ti.com>
Added MmRpc_use()/MmRpc_release() API functions.
These functions call into the driver to make the buffers
persistent from the remote processor view. This allows the
remote processor to maintain persistent references to the
buffers across multiple calls to MmRcp_call().
These functions call into the driver to make the buffers
persistent from the remote processor view. This allows the
remote processor to maintain persistent references to the
buffers across multiple calls to MmRcp_call().
QNX IPC: rpmsg_rpc - Don't Use Primary Offset in Translations
The primary offset for the params is not needed in the
translations. The translation code was incorrectly subtracting
the primary offset when calculating the location of the pointer
to be translated. The translation offset is the offset from the
start of the params data pointer, and not the offset from the
start of the params base. So, the params data pointer plus the
translation offset is all that is needed in order to get the
location of the translation.
Also, fix the reverse translations so that the correct
value is put back in the buffer.
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
The primary offset for the params is not needed in the
translations. The translation code was incorrectly subtracting
the primary offset when calculating the location of the pointer
to be translated. The translation offset is the offset from the
start of the params data pointer, and not the offset from the
start of the params base. So, the params data pointer plus the
translation offset is all that is needed in order to get the
location of the translation.
Also, fix the reverse translations so that the correct
value is put back in the buffer.
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Add base field to MmRpc_Xlt structure.
Fixed the offset calculation for embedded pointers by allowing
the caller to specify encoded base value. Enhanced some comments.
Code cleanup.
Fixed the offset calculation for embedded pointers by allowing
the caller to specify encoded base value. Enhanced some comments.
Code cleanup.
Changes to support non-NameServer-capable slaves on Linux
Ipc setup code was giving up when any slave failed to connect to Linux
sockets. It now succeeds when at least one slave connects. Previously,
both NameServer_setup() (in LAD) and MessageQ_attach()es called from
Ipc_start() were expected to succeed for all remote cores specified in
MultiProc. Now those functions can tolerate slave connection failures and
will report success if at least one slave can connect.
Ipc setup code was giving up when any slave failed to connect to Linux
sockets. It now succeeds when at least one slave connects. Previously,
both NameServer_setup() (in LAD) and MessageQ_attach()es called from
Ipc_start() were expected to succeed for all remote cores specified in
MultiProc. Now those functions can tolerate slave connection failures and
will report success if at least one slave can connect.
Change NameServer_get to ignore 'remote get' timeouts and use a reduced period.
This is to fix SDOCM00102548 for QNX, so that MessageQ_open succeeds when
the IPU is loaded with an executable that does not 'speak' NameServer.
Signed-off-by: VW <vwan@ti.com>
This is to fix SDOCM00102548 for QNX, so that MessageQ_open succeeds when
the IPU is loaded with an executable that does not 'speak' NameServer.
Signed-off-by: VW <vwan@ti.com>
Added GateMPApp test for GateMP verification
Signed-off-by: VW <vwan@ti.com>
Signed-off-by: VW <vwan@ti.com>
GateMP: Introduce support for GateMP on QNX
To enable GateMP,throw the -g option when launching the IPC resource
manager.
On the BIOS side, DSP1 must be configured as the owner of SR0 and
the new GateMP.hostSupport config param must be set to true like
this:
var GateMP = xdc.useModule('ti.sdo.ipc.GateMP');
GateMP.hostSupport = true;
Note that it's initially only been validated on DRA7XX DSP1.
Signed-off-by: VW <vwan@ti.com>
To enable GateMP,throw the -g option when launching the IPC resource
manager.
On the BIOS side, DSP1 must be configured as the owner of SR0 and
the new GateMP.hostSupport config param must be set to true like
this:
var GateMP = xdc.useModule('ti.sdo.ipc.GateMP');
GateMP.hostSupport = true;
Note that it's initially only been validated on DRA7XX DSP1.
Signed-off-by: VW <vwan@ti.com>
MmRpc: Added support for Android OS build
Introduce an initial Android.mk build script, and slight
code change to build the MmRpc library.
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Introduce an initial Android.mk build script, and slight
code change to build the MmRpc library.
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
MessageQ: Fix for Linux msgs sent to wrong slave
Previously the MultiProc-to-Linux-kernel-rproc-index mapping was
hard-coded in the MessageQ-based socket library to be
rprocIndex = MultiProc_id - 1. This was too simple for the async
loading use cases on systems with > 1 slave.
A recent kernel patch looks up the rpmsg channel based on Linux
kernel rproc index, meaning the socket's 'connect' and 'bind'
calls now need to provide the actual rproc index. Today's Linux
kernels ensure the rproc index will be consistent from run to run
(so long as all slaves are configured enabled), so this rproc-
index-to-MultiProc-id can be known and hard-coded ahead of time.
This commit records that hard-coding in the MultiProcCfg_*.c
source files, and now provides the appropriate rproc index in
the socket 'connect' and 'bind' calls.
This user-space commit requires a matching update to the kernel
space drivers.
Previously the MultiProc-to-Linux-kernel-rproc-index mapping was
hard-coded in the MessageQ-based socket library to be
rprocIndex = MultiProc_id - 1. This was too simple for the async
loading use cases on systems with > 1 slave.
A recent kernel patch looks up the rpmsg channel based on Linux
kernel rproc index, meaning the socket's 'connect' and 'bind'
calls now need to provide the actual rproc index. Today's Linux
kernels ensure the rproc index will be consistent from run to run
(so long as all slaves are configured enabled), so this rproc-
index-to-MultiProc-id can be known and hard-coded ahead of time.
This commit records that hard-coding in the MultiProcCfg_*.c
source files, and now provides the appropriate rproc index in
the socket 'connect' and 'bind' calls.
This user-space commit requires a matching update to the kernel
space drivers.
Linux: Remove KERNEL and DRM requirement
Remove the KERNEL and DRM dependency for OMAP54xx and
DRA7xx builds. We'll build as many libs/tests as possible,
given the provided dependencies.
If the user doesn't supply KERNEL, we won't build the MmRpc
libs; if they don't supply DRM, we won't build tests that
depend on DRM... but we'll still build, for example,
MessageQ libs and tests.
Remove the KERNEL and DRM dependency for OMAP54xx and
DRA7xx builds. We'll build as many libs/tests as possible,
given the provided dependencies.
If the user doesn't supply KERNEL, we won't build the MmRpc
libs; if they don't supply DRM, we won't build tests that
depend on DRM... but we'll still build, for example,
MessageQ libs and tests.
MessageQ: Merge new IPC 1.25.03 MessageQ features
The IPC 1.25.03 patch introduced two MessageQ-related features:
SDOCM00099783: MessageQ_free needs a hook function
SDOCM00095724: MessageQ_create should allow a queueId to be
specified instaned of finding free slot
These were driven by MCU/TI-RTOS programs, but may be useful for
other use cases.
This commit brings those features into IPC 3.x.
The IPC 1.25.03 patch introduced two MessageQ-related features:
SDOCM00099783: MessageQ_free needs a hook function
SDOCM00095724: MessageQ_create should allow a queueId to be
specified instaned of finding free slot
These were driven by MCU/TI-RTOS programs, but may be useful for
other use cases.
This commit brings those features into IPC 3.x.
Tests: mmrpc_test: Fix unitialized status variable in mmrpc_test.c
This was causing the mmrpc_test to report failure, when in fact it succeeded.
Signed-off-by: G Anthony <a0783926@ti.com>
This was causing the mmrpc_test to report failure, when in fact it succeeded.
Signed-off-by: G Anthony <a0783926@ti.com>
Tests: mmrpc_test: Removed omapconf comment and getchar from mmrpc_test.
This was previously inserted for debugging purposes.
Signed-off-by: G Anthony <a0783926@ti.com>
This was previously inserted for debugging purposes.
Signed-off-by: G Anthony <a0783926@ti.com>
Tests: rpc_task: Invalidate the compute structure in Mx_compute fxn.
This to ensure the cache is invalidated before reading the fields of this
structure, which may be in cached memory (Tiler).
Signed-off-by: G Anthony <a0783926@ti.com>
This to ensure the cache is invalidated before reading the fields of this
structure, which may be in cached memory (Tiler).
Signed-off-by: G Anthony <a0783926@ti.com>
Build CMEM library only if platform is specified.
CMEM library is platform specific. You just specify a platform
to build the library and programs that use CMEM.
CMEM library is platform specific. You just specify a platform
to build the library and programs that use CMEM.
Added offset pointer support to MmRcp.
New parameter type to support data pointers into managed memory
allocations such that the data pointer is offset from the base
address.
New parameter type to support data pointers into managed memory
allocations such that the data pointer is offset from the base
address.
Moved drm libraries out of common variable.
Ran autoreconf to generate new makefiles and configure script.
tests: mmrpc_test: Updated Mx_compute() to test rpmsgrpc buff translation.
Requires DRM library, to allocate DRM buffers, allowing access to
shared memory via user virtual and DMA_BUF handles.
Signed-off-by: G Anthony <a0783926@ti.com>
Requires DRM library, to allocate DRM buffers, allowing access to
shared memory via user virtual and DMA_BUF handles.
Signed-off-by: G Anthony <a0783926@ti.com>
tests: mmrpc_test: Add DRM library to Linux side makefiles.
DRM library is needed for the Mx_Compute() buffer translation use case.
Add DRM_PREFIX in ipc-linux.mak and Makefile.am
Signed-off-by: G Anthony <a0783926@ti.com>
DRM library is needed for the Mx_Compute() buffer translation use case.
Add DRM_PREFIX in ipc-linux.mak and Makefile.am
Signed-off-by: G Anthony <a0783926@ti.com>
products.mak: Added DRM_PREFIX setting.
This DRM_PREFIX is used by linux/src/tests/Makefile.am
Signed-off-by: G Anthony <a0783926@ti.com>
This DRM_PREFIX is used by linux/src/tests/Makefile.am
Signed-off-by: G Anthony <a0783926@ti.com>
Linux: Added DRM_PREFIX config variable to the Linux build for OMAP5 and DRA7XX devices
Set status field in fw_rsc_vdev after MessageQCopy_attach and before RscTable_update in QNX
Signed-off-by: VW <vwan@ti.com>
Signed-off-by: VW <vwan@ti.com>
MxServer_compute: Incremented num params from 1 to 2 to match signature.
Previously, MxServer_compute function had only 1 paramter (return val included)
in the signature.
This was not being checked by the QnX rpmsgrpc driver, but is being checked by
Linux rpmsgrpc driver, which caught the inconsistency during an RpcCall.
This has been fixed.
Signed-off-by: G Anthony <a0783926@ti.com>
Previously, MxServer_compute function had only 1 paramter (return val included)
in the signature.
This was not being checked by the QnX rpmsgrpc driver, but is being checked by
Linux rpmsgrpc driver, which caught the inconsistency during an RpcCall.
This has been fixed.
Signed-off-by: G Anthony <a0783926@ti.com>
VirtQueue: OMAP5: Poll for VDEV status in VirtQueue_startup()
This resolves a race condition where the first slave RPMSG send would block
in a non-task context on a Semaphore_pend(), when the slave loads faster than
than the host can prime the send buffers in the vring to the host.
This patch implements the solution for OMAP5 separately.
Signed-off-by: G Anthony <a0783926@ti.com>
This resolves a race condition where the first slave RPMSG send would block
in a non-task context on a Semaphore_pend(), when the slave loads faster than
than the host can prime the send buffers in the vring to the host.
This patch implements the solution for OMAP5 separately.
Signed-off-by: G Anthony <a0783926@ti.com>
VirtQueue: Poll for VDEV status in VirtQueue_startup() to sync rpmsg on boot.
Previously, various methods (or none) have been implemented to ensure that
the slave has buffers available in the vring to the host before sending its
first message.
VirtQueue_startup() now polls the status bit in the VDEV struct of the Resource
table for a completion status, written by the host after the VDEV is created
successfully.
This resolves a race condition where the first slave RPMSG send would block
in a non-task context on a Semaphore_pend(), when the slave loads faster than
than the host can prime the send buffers in the vring to the host.
This patch implements the solution for Vayu separately.
Signed-off-by: G Anthony <a0783926@ti.com>
Previously, various methods (or none) have been implemented to ensure that
the slave has buffers available in the vring to the host before sending its
first message.
VirtQueue_startup() now polls the status bit in the VDEV struct of the Resource
table for a completion status, written by the host after the VDEV is created
successfully.
This resolves a race condition where the first slave RPMSG send would block
in a non-task context on a Semaphore_pend(), when the slave loads faster than
than the host can prime the send buffers in the vring to the host.
This patch implements the solution for Vayu separately.
Signed-off-by: G Anthony <a0783926@ti.com>
Resource: Add accessor to read the status field from a VDEV struct.
The Linux host will write a VIRTIO_CONFIG_* status into the remote processor
resource table upon completion of VDEV creation.
As this corresponds to priming of vring buffers for RPMSG type VDEVs, this is
a useful status for the slave to poll before it sends it's first RPMSG
to the host.
Other non-Linux HLOS must implement a similar status update mechanism.
Signed-off-by: G Anthony <a0783926@ti.com>
The Linux host will write a VIRTIO_CONFIG_* status into the remote processor
resource table upon completion of VDEV creation.
As this corresponds to priming of vring buffers for RPMSG type VDEVs, this is
a useful status for the slave to poll before it sends it's first RPMSG
to the host.
Other non-Linux HLOS must implement a similar status update mechanism.
Signed-off-by: G Anthony <a0783926@ti.com>
VirtQueue: Added capability to see Log_print from Vayu/OMAP5 VirtQueue.
The VirtQueue modules for Vayu and OMAP5 are not XDC modules.
For non-XDC files, a module name needs to be registered so that Log_print
and Diags will work.
This introduces a private _VirtQueue_init() function, called in
VirtQueue_create(), to register VirtQueue with the Diags/Log system.
Signed-off-by: G Anthony <a0783926@ti.com>
The VirtQueue modules for Vayu and OMAP5 are not XDC modules.
For non-XDC files, a module name needs to be registered so that Log_print
and Diags will work.
This introduces a private _VirtQueue_init() function, called in
VirtQueue_create(), to register VirtQueue with the Diags/Log system.
Signed-off-by: G Anthony <a0783926@ti.com>
Merge tag '3.00.02.26' into ipc-next
3.00.02.26
3.00.02.26
.gitignore: Ignore patch files
Add *.patch to .gitignore so that patches can remain in the
tree when a regular git clean is performed.
Signed-off-by: Suman Anna <s-anna@ti.com>
Add *.patch to .gitignore so that patches can remain in the
tree when a regular git clean is performed.
Signed-off-by: Suman Anna <s-anna@ti.com>
Configs: DRA7xx: Change IPU1 BIOS tick timer to use GPT11
Both the IPU1 and IPU2 are currently configured to use the
same GPTimer as the source for BIOS tick timer. Switch the
IPU1 timer to use GPT11 instead so that both the processors
can be run simultaneously.
Signed-off-by: Suman Anna <s-anna@ti.com>
Both the IPU1 and IPU2 are currently configured to use the
same GPTimer as the source for BIOS tick timer. Switch the
IPU1 timer to use GPT11 instead so that both the processors
can be run simultaneously.
Signed-off-by: Suman Anna <s-anna@ti.com>
Configs: DRA7xx: Update the dmtimer addresses
DRA7xx has 16 timers and the MMU equivalent addresses are defined
only for a subset of these dmtimers. Define the addresses for all
the dmTimer addresses as per the resource table configuration for
a HLOS usecase.
Signed-off-by: Suman Anna <s-anna@ti.com>
DRA7xx has 16 timers and the MMU equivalent addresses are defined
only for a subset of these dmtimers. Define the addresses for all
the dmTimer addresses as per the resource table configuration for
a HLOS usecase.
Signed-off-by: Suman Anna <s-anna@ti.com>
Remoteproc: DRA7xx: Remove MPU mapping from resource table
The L4_PER mapping entry is split into three individual L4_PERx
entries. This is done to remove any mappings for the MPU-relevant
address spaces into the slave processor MMUs.
Signed-off-by: Suman Anna <s-anna@ti.com>
The L4_PER mapping entry is split into three individual L4_PERx
entries. This is done to remove any mappings for the MPU-relevant
address spaces into the slave processor MMUs.
Signed-off-by: Suman Anna <s-anna@ti.com>
ping_rpmsg: Updated test to take numLoops and CoreId arguments.
Test updated to allow testing rpmsg_proto socket over multiple cores, and
in multiple processes via command shell.
Signed-off-by: G Anthony <a0783926@ti.com>
Test updated to allow testing rpmsg_proto socket over multiple cores, and
in multiple processes via command shell.
Signed-off-by: G Anthony <a0783926@ti.com>
Vayu: Added DRA7XX platform to configure.ac and Makefile.am for Linux builds.
Also, added DRA7XX MultiProc configuration table to build MessageQ tests for
Vayu.
Signed-off-by: G Anthony <a0783926@ti.com>
Also, added DRA7XX MultiProc configuration table to build MessageQ tests for
Vayu.
Signed-off-by: G Anthony <a0783926@ti.com>
SrvMgr: Publish OMX server for DRA7xx IPU1 & DSP2 processors
Add logic to publish separate rpmsg-omx channel devices to the
host for IPU1 and DSP2 processors for DRA7xx. These are kept
different so that they can be run simultaneously with IPU2 and
DSP1 processors without causing any name conflicts.
Signed-off-by: Suman Anna <s-anna@ti.com>
Add logic to publish separate rpmsg-omx channel devices to the
host for IPU1 and DSP2 processors for DRA7xx. These are kept
different so that they can be run simultaneously with IPU2 and
DSP1 processors without causing any name conflicts.
Signed-off-by: Suman Anna <s-anna@ti.com>
Vayu: Tests: Add support for IPU1 and DSP2
- Resource Table: Vring physical addresses are made unique depending on VAYU
core, and need to match CMA base addresses; given both DSP and IPU
have IOMMU's, the device addresses otherwise remain the same.
- Adjust test image memory maps to fit in 6MB footprint for initial testing.
- Add support to build tests for IPU1 and DSP2 platform instances.
Signed-off-by: G Anthony <a0783926@ti.com>
[s-anna@ti.com: add dsp2 and ipu1 build targets]
Signed-off-by: Suman Anna <s-anna@ti.com>
Vayu: Tests: Adjust memory maps for IPU1 and DSP2
Retain the memory map for IPU2 while creating a newer
memory map for IPU1. Also fix some of the other sizes.
Signed-off-by: Suman Anna <s-anna@ti.com>
- Resource Table: Vring physical addresses are made unique depending on VAYU
core, and need to match CMA base addresses; given both DSP and IPU
have IOMMU's, the device addresses otherwise remain the same.
- Adjust test image memory maps to fit in 6MB footprint for initial testing.
- Add support to build tests for IPU1 and DSP2 platform instances.
Signed-off-by: G Anthony <a0783926@ti.com>
[s-anna@ti.com: add dsp2 and ipu1 build targets]
Signed-off-by: Suman Anna <s-anna@ti.com>
Vayu: Tests: Adjust memory maps for IPU1 and DSP2
Retain the memory map for IPU2 while creating a newer
memory map for IPU1. Also fix some of the other sizes.
Signed-off-by: Suman Anna <s-anna@ti.com>
Revert "Resources: Define memory region type for carveout entries"
This reverts commit 7c6349ba5dddddf10e082d7180ef422505623928
(from omapzoom.org sysbios-rpmsg repo), so that we do not need the hack on
the kernel-side for the expected reserved field.
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: G Anthony <a0783926@ti.com>
This reverts commit 7c6349ba5dddddf10e082d7180ef422505623928
(from omapzoom.org sysbios-rpmsg repo), so that we do not need the hack on
the kernel-side for the expected reserved field.
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: G Anthony <a0783926@ti.com>
Build: Entry point alignment to ti.ipc.remoteproc
Move the logic ensuring entry point alignment from
ipc-bios.bld into ti.ipc.remoteproc. This is a commonly
used package in environments where these alignment
constraints exist.
This also enables customer executables to 'freely' meet
the necessary entry point alignment requirements without
explicitly doing anything.
Note that because of the clever technique employed to ensure
alignment, namely setting the entry point to BIOS's
already-aligned HWI vector table, we only override the entry
point this flag if BIOS is used. If BIOS is not used, it
becomes the application's responsibility to ensure any
device-specific entry point alignment constraints are met.
A nice side effect is that ipcdev can now build executables
that don't have a BIOS dependency.
Move the logic ensuring entry point alignment from
ipc-bios.bld into ti.ipc.remoteproc. This is a commonly
used package in environments where these alignment
constraints exist.
This also enables customer executables to 'freely' meet
the necessary entry point alignment requirements without
explicitly doing anything.
Note that because of the clever technique employed to ensure
alignment, namely setting the entry point to BIOS's
already-aligned HWI vector table, we only override the entry
point this flag if BIOS is used. If BIOS is not used, it
becomes the application's responsibility to ensure any
device-specific entry point alignment constraints are met.
A nice side effect is that ipcdev can now build executables
that don't have a BIOS dependency.
C64T: use common C6x compiler opts
The compiler options IPC throws for the C64T target should
be the same as other C6x targets; there's no need for them
to be different.
Note that these C64T-specific flags were introduced in
8f8201d89c330e1776645b572b9151ea9b5e99ce.
This commit reverts that.
The compiler options IPC throws for the C64T target should
be the same as other C6x targets; there's no need for them
to be different.
Note that these C64T-specific flags were introduced in
8f8201d89c330e1776645b572b9151ea9b5e99ce.
This commit reverts that.
Changes for new cmem.h location and CMEM library
Linux Utils 4.00 simplified the directory structure of
CMEM from Linux Utils 3.x. This commit updates to that new
release.
This only affects users of the nano test.
Linux Utils 4.00 simplified the directory structure of
CMEM from Linux Utils 3.x. This commit updates to that new
release.
This only affects users of the nano test.
Enable BIOS-side to build for specific platforms
Enhance ipc-bios.bld to only add specified platforms
to a target. This allows C66 users to build only Vayu
executables without TCI6638 (for example). Previously,
when enabling C66 support, C66 executables for all
platforms were built, which was always more than the
user needed.
This reuses the [previously Linux-specific] PLATFORM
variable in products.mak to indicate which BIOS-side
platform to build executables for.
Enhance ipc-bios.bld to only add specified platforms
to a target. This allows C66 users to build only Vayu
executables without TCI6638 (for example). Previously,
when enabling C66 support, C66 executables for all
platforms were built, which was always more than the
user needed.
This reuses the [previously Linux-specific] PLATFORM
variable in products.mak to indicate which BIOS-side
platform to build executables for.
Merge remote-tracking branch 'origin/3.00' into ipc-next
6636: More Linux and BIOS 6636 support
Add tci6636 as a new PLATFORM visible to Linux autotools.
On the BIOS side, treat 6636 just like 6638 in config and
build scripts.
Add tci6636 as a new PLATFORM visible to Linux autotools.
On the BIOS side, treat 6636 just like 6638 in config and
build scripts.
Linux: MmRpc libraries build only for platforms that support MmRpc regardless of KERNEL_INSTALL_DIR settings.
This addresses SDOCM00102069
This addresses SDOCM00102069
TCI6636: Change MultiProc names to match TCI6638
QNX: Fix multi_process.sh for < 10 processes
The slave side executables can only handle a maximum of 10 threads,
so the script did not work corrently when it inadvertently tried to
look for an 11th thread.
This addresses SDOCM00102315 (in 3.00 stream).
Signed-off-by: VW <vwan@ti.com>
(cherry picked from commit d51cd492b52da4fb68bbeb75debd4d16f774a764)
The slave side executables can only handle a maximum of 10 threads,
so the script did not work corrently when it inadvertently tried to
look for an 11th thread.
This addresses SDOCM00102315 (in 3.00 stream).
Signed-off-by: VW <vwan@ti.com>
(cherry picked from commit d51cd492b52da4fb68bbeb75debd4d16f774a764)
QNX: Fix default build to not 'install'
The default build goal shouldn't run the 'install' goal.
This addresses SDOCM00102313 (in 3.00 stream).
(cherry picked from commit 5034b514740a987fe1f80456402c89fd1ed84c08)
The default build goal shouldn't run the 'install' goal.
This addresses SDOCM00102313 (in 3.00 stream).
(cherry picked from commit 5034b514740a987fe1f80456402c89fd1ed84c08)
Change adds support for TCI6634 and TCI6636
Fixes a build error when using the new TCI6636 platform.
Fixes a build error when using the new TCI6636 platform.
QNX: Minor file inclusion cleanup
Mop up a few #include file dependencies.
Mop up a few #include file dependencies.
QNX: Remove unnecessary header inclusion
Removal of a single unnecessary header file included in
QNX's NameServer_daemon.
Removal of a single unnecessary header file included in
QNX's NameServer_daemon.
More minor coding convention fixes
Found by static analysis.
Signed-off-by: Chris Ring <cring@ti.com>
Found by static analysis.
Signed-off-by: Chris Ring <cring@ti.com>
QNX: Fix multi_process.sh for < 10 processes
The slave side executables can only handle a maximum of 10 threads,
so the script did not work corrently when it inadvertently tried to
look for an 11th thread.
This addresses SDOCM00102067.
Signed-off-by: VW <vwan@ti.com>
The slave side executables can only handle a maximum of 10 threads,
so the script did not work corrently when it inadvertently tried to
look for an 11th thread.
This addresses SDOCM00102067.
Signed-off-by: VW <vwan@ti.com>
Fix coding conventions in a few headers
Correct some IPC header issues recently identified by static
analysis.
Correct some IPC header issues recently identified by static
analysis.
Vayu: Remove ti.platform.vayu.* pkgs
In the IPC 3.00 stream the tests/examples switched to
ti.platforms.evmDRA7XX platform instances, but we left
these ti.platform.vayu.* platform packages in the IPC product
to not disrupt existing users of them.
Users have had adequate time to move to the XDC-provided
platform instances, so we are removing them in the IPC 3.10
stream.
In the IPC 3.00 stream the tests/examples switched to
ti.platforms.evmDRA7XX platform instances, but we left
these ti.platform.vayu.* platform packages in the IPC product
to not disrupt existing users of them.
Users have had adequate time to move to the XDC-provided
platform instances, so we are removing them in the IPC 3.10
stream.
QNX: Fix default build to not 'install'
The default build goal shouldn't run the 'install' goal.
This addresses SDOCM00102137.
The default build goal shouldn't run the 'install' goal.
This addresses SDOCM00102137.
QNX IPC: MmRpc - Generate .so Libs also
Generate .so libraries in addition to .a so that the
MmRpc can be dynamically linked.
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Generate .so libraries in addition to .a so that the
MmRpc can be dynamically linked.
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
QNX IPC: Export MmRpc Libs and Headers
Export the MmRpc generated libraries to usr/lib and
export the header file to user/include/ti/ipc/mm.
This is so that apps can easily include the header and
link with the library.
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Export the MmRpc generated libraries to usr/lib and
export the header file to user/include/ti/ipc/mm.
This is so that apps can easily include the header and
link with the library.
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Replaced usage of pathconf() with PATH_MAX
pathconf() returns error when file is located in /tmp. We switch to using PATH_MAX to avoid this problem.
Signed-off-by: VW <vwan@ti.com>
pathconf() returns error when file is located in /tmp. We switch to using PATH_MAX to avoid this problem.
Signed-off-by: VW <vwan@ti.com>
Vayu: Increased processor table size in NotifySetup module
When building for all cores on Vayu device, with non-SMP mode
on IPU1, the processor table was too small.
Signed-off-by: Ramsey Harris <ramsey@ti.com>
When building for all cores on Vayu device, with non-SMP mode
on IPU1, the processor table was too small.
Signed-off-by: Ramsey Harris <ramsey@ti.com>
MmRpc: Remove 'base' field from MmRpc_Xlt struct
This field was confusing and redundant. Given that the address
and offset to the embedded pointer are already available, the
base value can be derived in the MmRpc API layer.
Signed-off-by: Ramsey Harris <ramsey@ti.com>
This field was confusing and redundant. Given that the address
and offset to the embedded pointer are already available, the
base value can be derived in the MmRpc API layer.
Signed-off-by: Ramsey Harris <ramsey@ti.com>
QNX: Remove tiler and update makefiles
Tiler is now [correctly] managed independent from IPC. This
commit removes tiler support from IPC.
Tiler is now [correctly] managed independent from IPC. This
commit removes tiler support from IPC.
Tests: Update tests to support concurrently loaded slaves
Update the tests so that each core registers a different
endpoint name. In this way multiple images can be loaded
at the same time and these tests can be run for each core
without having to unload and reload another image.
Update the tests so that each core registers a different
endpoint name. In this way multiple images can be loaded
at the same time and these tests can be run for each core
without having to unload and reload another image.
Tests: Update RPC Stress test
Update the test so that each core registers a different
endpoint name. In this way multiple images can be loaded
at the same time and this test can be run for each core
without having to unload and reaload another image.
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Update the test so that each core registers a different
endpoint name. In this way multiple images can be loaded
at the same time and this test can be run for each core
without having to unload and reaload another image.
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
QNX: Don't Disable Host->rproc Interrupts During Register
The register/unregister functions are clearing mailbox
messages and disabling the host->rproc interrupts. When loading
multiple remote procs, this can cause an issue where the
remote proc's host->rproc interrupt remains disabled and the
remote proc is unable to receive interrupts.
This patch removes the code to avoid disabling the interrupt.
The register/unregister functions are clearing mailbox
messages and disabling the host->rproc interrupts. When loading
multiple remote procs, this can cause an issue where the
remote proc's host->rproc interrupt remains disabled and the
remote proc is unable to receive interrupts.
This patch removes the code to avoid disabling the interrupt.
BIOS: Remove M3 executable support for Vayu and OMAP5
No longer build the OMAP5 and Vayu tests when the M3 target
is set. We want to migrate users of these devices to the M4
target.
Also, an issue in BIOS 6.35.02 restricts Vayu to only M4
target support, so this ensures BIOS 6.35.02 users don't
hit this issue.
No longer build the OMAP5 and Vayu tests when the M3 target
is set. We want to migrate users of these devices to the M4
target.
Also, an issue in BIOS 6.35.02 restricts Vayu to only M4
target support, so this ensures BIOS 6.35.02 users don't
hit this issue.
Config and package updates for new XDCtools and SYS/BIOS builds
This fixes build and configuration issues for the following imports:
SYS/BIOS 6.35.02.44_eng
XDCtools 3.25.01.64_eng
Signed-off-by: Ramsey Harris <ramsey@ti.com>
This fixes build and configuration issues for the following imports:
SYS/BIOS 6.35.02.44_eng
XDCtools 3.25.01.64_eng
Signed-off-by: Ramsey Harris <ramsey@ti.com>
Tests: Update tests to use DRA7XX platform instance
Teach ti.ipc.tests to use instances of the
ti.platforms.evmDRA7XX platform rather than the IPC-specific
vayu platforms. These IPC-specific platforms can now be removed,
although we'll save that for the 3.10 stream so we don't break
existing users of them.
Note the two subtle changes in ipc-bios.bld. First, the
platform name should be 'ti.platforms.evmDRA7XX' (note the
plural 'platforms'). Second, the platform defined by XDC includes
an instance named "IPU2", so our locally defined instance name
cannot match that - so it's changed to lowercase 'ipu2'. Going
forward, we should standardize on platform instances with
all lower-case names.
Signed-off-by: Chris Ring <cring@ti.com>
Teach ti.ipc.tests to use instances of the
ti.platforms.evmDRA7XX platform rather than the IPC-specific
vayu platforms. These IPC-specific platforms can now be removed,
although we'll save that for the 3.10 stream so we don't break
existing users of them.
Note the two subtle changes in ipc-bios.bld. First, the
platform name should be 'ti.platforms.evmDRA7XX' (note the
plural 'platforms'). Second, the platform defined by XDC includes
an instance named "IPU2", so our locally defined instance name
cannot match that - so it's changed to lowercase 'ipu2'. Going
forward, we should standardize on platform instances with
all lower-case names.
Signed-off-by: Chris Ring <cring@ti.com>
Vayu: More support for the DRA7XX part number
'DRA7XX' and 'Vayu' are the same device. An earlier
commit added support for 'DRA7XX' but missed a few places,
which this commit addresses.
These missing changes were found when enabling platform instance
support to HLOS-based examples, so these changes are isolated to
packages used in HLOS environments.
Signed-off-by: Chris Ring <cring@ti.com>
'DRA7XX' and 'Vayu' are the same device. An earlier
commit added support for 'DRA7XX' but missed a few places,
which this commit addresses.
These missing changes were found when enabling platform instance
support to HLOS-based examples, so these changes are isolated to
packages used in HLOS environments.
Signed-off-by: Chris Ring <cring@ti.com>
Vayu: Remove unnecessary dependency in InterruptIpu
There was an unnecessary dependency from the IPU interrupt handler
(ti.sdo.ipc.family.vayu.InterruptIpu) onto the core of IPC
(ti.sdo.ipc.Ipc). For the MmServiceMgr use case, which needs the
interrupt handler but not the core of IPC, this dependency brought
in unnecessary code/data.
Signed-off-by: Chris Ring <cring@ti.com>
There was an unnecessary dependency from the IPU interrupt handler
(ti.sdo.ipc.family.vayu.InterruptIpu) onto the core of IPC
(ti.sdo.ipc.Ipc). For the MmServiceMgr use case, which needs the
interrupt handler but not the core of IPC, this dependency brought
in unnecessary code/data.
Signed-off-by: Chris Ring <cring@ti.com>
MmServiceMgr: Hide internal MmServiceMgr_start() fxn
Minor documentation change to hide the internal
MmServiceMgr_start() from doxygen-generated API reference guides.
Signed-off-by: Chris Ring <cring@ti.com>
Minor documentation change to hide the internal
MmServiceMgr_start() from doxygen-generated API reference guides.
Signed-off-by: Chris Ring <cring@ti.com>
Vayu: Enable configuration of IPU mailbox virt addrs
IPC must access the physical mailbox addresses (physically
at 0x4XXX_XXXX) via virtual addresses (typically set up
using the IPU's AMMU). System integrators need the
flexibility to place these mailboxes at different virtual
addresses.
System integrators can now use the InteruptIpu.mailboxBaseAddr[]
config params to place these mailboxes at virtual
addresses other than the default (which is 0x6XXX_XXXX).
Also clarified the cdoc documentation.
Signed-off-by: Chris Ring <cring@ti.com>
IPC must access the physical mailbox addresses (physically
at 0x4XXX_XXXX) via virtual addresses (typically set up
using the IPU's AMMU). System integrators need the
flexibility to place these mailboxes at different virtual
addresses.
System integrators can now use the InteruptIpu.mailboxBaseAddr[]
config params to place these mailboxes at virtual
addresses other than the default (which is 0x6XXX_XXXX).
Also clarified the cdoc documentation.
Signed-off-by: Chris Ring <cring@ti.com>
QNX IPC: Main - Use Absolute Path of Firmware
Save the absolute path of the firmware file to use
when loading the firmware.
This is useful for the recovery situation, where the
relative path will no longer work.
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Save the absolute path of the firmware file to use
when loading the firmware.
This is useful for the recovery situation, where the
relative path will no longer work.
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Added support for new platform: ti.platforms.evmDRA7XX
Added evmDRA7XX alias for Vayu in family Settings.xs. Removed
references to simVayu platform.
Signed-off-by: Ramsey Harris <ramsey@ti.com>
Added evmDRA7XX alias for Vayu in family Settings.xs. Removed
references to simVayu platform.
Signed-off-by: Ramsey Harris <ramsey@ti.com>
QNX IPC: RPMSG-RPC - Don't Wait for Response During Destroy
When calling rpmsg_rpc_destroy, all existing connections
are disconnected so that the remote core may be reloaded
and stale connections are not left open.
When rpmsg_rpc_destroy is called, it is assumed that
the remote processor has already been stopped. In this
case, there is no need to wait for a response from the
disconnect call. Instead, the connection can immediately
be marked as disconnected and destroy can continue.
This patch modifies each remote core connection to have
a parameter that tells whether or not the destroy function
is currently executing. Then, the disconnect call is
updated to check to see if destroy is being executed. If
destroy is being executed, then it does not send the
message to the remote core and wait for a response. Instead,
the connection is simply marked as disconnected.
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
When calling rpmsg_rpc_destroy, all existing connections
are disconnected so that the remote core may be reloaded
and stale connections are not left open.
When rpmsg_rpc_destroy is called, it is assumed that
the remote processor has already been stopped. In this
case, there is no need to wait for a response from the
disconnect call. Instead, the connection can immediately
be marked as disconnected and destroy can continue.
This patch modifies each remote core connection to have
a parameter that tells whether or not the destroy function
is currently executing. Then, the disconnect call is
updated to check to see if destroy is being executed. If
destroy is being executed, then it does not send the
message to the remote core and wait for a response. Instead,
the connection is simply marked as disconnected.
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
QNX IPC: Main - Fix Compile Warnings
This patch fixes the following compilation warnings:
qnx/src/ipc3x_dev/ti/syslink/build/Qnx/resmgr/syslink_main.c:
In function 'deinit_syslink_device':
qnx/src/ipc3x_dev/ti/syslink/build/Qnx/resmgr/syslink_main.c:450:
warning: unused variable 'i'
qnx/src/ipc3x_dev/ti/syslink/build/Qnx/resmgr/syslink_main.c:
In function 'deinit_syslink_trace_device':
qnx/src/ipc3x_dev/ti/syslink/build/Qnx/resmgr/syslink_main.c:392:
warning: control reaches end of non-void function
qnx/src/ipc3x_dev/ti/syslink/build/Qnx/resmgr/syslink_main.c:
In function 'init_syslink_trace_device':
qnx/src/ipc3x_dev/ti/syslink/build/Qnx/resmgr/syslink_main.c:374:
warning: control reaches end of non-void function
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
This patch fixes the following compilation warnings:
qnx/src/ipc3x_dev/ti/syslink/build/Qnx/resmgr/syslink_main.c:
In function 'deinit_syslink_device':
qnx/src/ipc3x_dev/ti/syslink/build/Qnx/resmgr/syslink_main.c:450:
warning: unused variable 'i'
qnx/src/ipc3x_dev/ti/syslink/build/Qnx/resmgr/syslink_main.c:
In function 'deinit_syslink_trace_device':
qnx/src/ipc3x_dev/ti/syslink/build/Qnx/resmgr/syslink_main.c:392:
warning: control reaches end of non-void function
qnx/src/ipc3x_dev/ti/syslink/build/Qnx/resmgr/syslink_main.c:
In function 'init_syslink_trace_device':
qnx/src/ipc3x_dev/ti/syslink/build/Qnx/resmgr/syslink_main.c:374:
warning: control reaches end of non-void function
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
QNX IPC: Vayu - Fix Compile Warnings
This patch fixes the following compilation warnings:
qnx/src/ipc3x_dev/ti/syslink/family/common/vayu/vayuipu/vayucore1/VAYUIpuCore1HalReset.c:
In function 'VAYUIPUCORE1_halResetCtrl':
qnx/src/ipc3x_dev/ti/syslink/family/common/vayu/vayuipu/vayucore1/VAYUIpuCore1HalReset.c:108:
warning: unused variable 'counter'
qnx/src/ipc3x_dev/ti/syslink/family/common/vayu/vayuipu/VAYUIpuPwr.c:
In function 'VAYUIPUPWR_on':
qnx/src/ipc3x_dev/ti/syslink/family/common/vayu/vayuipu/VAYUIpuPwr.c:1091:
warning: implicit declaration of function 'VAYUIPUMMU_enable'
qnx/src/ipc3x_dev/ti/syslink/family/common/vayu/vayuipu/VAYUIpuPwr.c:
In function 'VAYUIPUPWR_off':
qnx/src/ipc3x_dev/ti/syslink/family/common/vayu/vayuipu/VAYUIpuPwr.c:1156:
warning: implicit declaration of function 'VAYUIPUMMU_disable'
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
This patch fixes the following compilation warnings:
qnx/src/ipc3x_dev/ti/syslink/family/common/vayu/vayuipu/vayucore1/VAYUIpuCore1HalReset.c:
In function 'VAYUIPUCORE1_halResetCtrl':
qnx/src/ipc3x_dev/ti/syslink/family/common/vayu/vayuipu/vayucore1/VAYUIpuCore1HalReset.c:108:
warning: unused variable 'counter'
qnx/src/ipc3x_dev/ti/syslink/family/common/vayu/vayuipu/VAYUIpuPwr.c:
In function 'VAYUIPUPWR_on':
qnx/src/ipc3x_dev/ti/syslink/family/common/vayu/vayuipu/VAYUIpuPwr.c:1091:
warning: implicit declaration of function 'VAYUIPUMMU_enable'
qnx/src/ipc3x_dev/ti/syslink/family/common/vayu/vayuipu/VAYUIpuPwr.c:
In function 'VAYUIPUPWR_off':
qnx/src/ipc3x_dev/ti/syslink/family/common/vayu/vayuipu/VAYUIpuPwr.c:1156:
warning: implicit declaration of function 'VAYUIPUMMU_disable'
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
QNX IPC: Samples - Fix Compile Warnings
This patch fixes the following compilation warnings:
qnx/src/ipc3x_dev/ti/syslink/samples/hlos/rpmsg-rpc-stress/usr/tests_rpc_stress.c:
In function 'test_exec_call':
qnx/src/ipc3x_dev/ti/syslink/samples/hlos/rpmsg-rpc-stress/usr/tests_rpc_stress.c:280:
warning: assignment makes integer from pointer without a cast
qnx/src/ipc3x_dev/ti/syslink/samples/hlos/rpmsg-rpc-stress/usr/tests_rpc_stress.c:376:
warning: format '%x' expects type 'unsigned int', but argument 2 has type
'int *'
qnx/src/ipc3x_dev/ti/syslink/samples/hlos/rpmsg-rpc-stress/usr/tests_rpc_stress.c:376:
warning: format '%x' expects type 'unsigned int', but argument 3 has type
'void *'
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
This patch fixes the following compilation warnings:
qnx/src/ipc3x_dev/ti/syslink/samples/hlos/rpmsg-rpc-stress/usr/tests_rpc_stress.c:
In function 'test_exec_call':
qnx/src/ipc3x_dev/ti/syslink/samples/hlos/rpmsg-rpc-stress/usr/tests_rpc_stress.c:280:
warning: assignment makes integer from pointer without a cast
qnx/src/ipc3x_dev/ti/syslink/samples/hlos/rpmsg-rpc-stress/usr/tests_rpc_stress.c:376:
warning: format '%x' expects type 'unsigned int', but argument 2 has type
'int *'
qnx/src/ipc3x_dev/ti/syslink/samples/hlos/rpmsg-rpc-stress/usr/tests_rpc_stress.c:376:
warning: format '%x' expects type 'unsigned int', but argument 3 has type
'void *'
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Resource: Introduce customTable to override resource table
Users need to override the resource table. Introduce the
customTable boolean config param which uses set to true
to indicate they will provide their own table (and IPC shouldn't
generate a table for them).
They then have the responsibility to provide their own table
(with a symbol named ti_ipc_remoteproc_ResourceTable) at link
time.
Users need to override the resource table. Introduce the
customTable boolean config param which uses set to true
to indicate they will provide their own table (and IPC shouldn't
generate a table for them).
They then have the responsibility to provide their own table
(with a symbol named ti_ipc_remoteproc_ResourceTable) at link
time.
RemoteProc: rework resource_table definition/usage
Introduce the resource_table struct (defined in Linux) and
rework the device/core-specific resource tables to derive from
that struct (rather than redefine the struct themselves.
No functional difference, but this provides a better
framework and example for end users when they (soon!) are enabled
to define their own resource_table-based structs.
Introduce the resource_table struct (defined in Linux) and
rework the device/core-specific resource tables to derive from
that struct (rather than redefine the struct themselves.
No functional difference, but this provides a better
framework and example for end users when they (soon!) are enabled
to define their own resource_table-based structs.
Test: Remove unnecessary trace
Minor test cleanup, removing unnecessary trace statements.
Removed trivial copy-n-paste comment at the end of the file.
Minor test cleanup, removing unnecessary trace statements.
Removed trivial copy-n-paste comment at the end of the file.
Fix MessageQMulti's multi_process.sh script for QNX and install it