Only one single IPC service backend is currently present: multi_instance backend. This backend is heavily relying on the RPMsg multi_instance code to instanciate and manage instances and endpoints. Samples exist for both in the samples/subsys/ipc/ directory. With this patch we are "unpacking" the RPMsg multi_service code to make it more modular and reusable by different backends. In particular we are re-organizing the code into two helper libraries: an RPMsg library and a VRING / virtqueues static allocation library. At the same time we rewrite the multi_instance backend to make fully use of those new libraries and remove the old multi_instance sample. Signed-off-by: Carlo Caione <ccaione@baylibre.com>
33 lines
934 B
Plaintext
33 lines
934 B
Plaintext
# Copyright (c) 2021 Nordic Semiconductor (ASA)
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menuconfig IPC_SERVICE
|
|
bool "IPC service support multiple backends"
|
|
help
|
|
Enables support for a service that can be shared by multiple
|
|
users. Ability to work in different backends. The backend
|
|
should be registered before application starts using
|
|
the IPC Service.
|
|
|
|
if IPC_SERVICE
|
|
|
|
rsource "backends/Kconfig"
|
|
|
|
config IPC_SERVICE_NUM_ENDPOINTS_PER_INSTANCE
|
|
int "Max number of registered endpoints per instance"
|
|
default 2
|
|
help
|
|
Maximal number of endpoints that can be registered for one instance.
|
|
|
|
config IPC_SERVICE_REG_BACKEND_PRIORITY
|
|
int "Initialization priority of modules registering IPC backend"
|
|
default 46
|
|
help
|
|
The backend must be registered before the endpoint register.
|
|
|
|
module = IPC_SERVICE
|
|
module-str = IPC service and backend
|
|
source "${ZEPHYR_BASE}/subsys/logging/Kconfig.template.log_config"
|
|
|
|
endif # IPC_SERVICE
|