############################################################################ # openamp/open-amp.defs # # SPDX-License-Identifier: Apache-2.0 # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. The # ASF licenses this file to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance with the # License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # ############################################################################ ifeq ($(CONFIG_OPENAMP),y) ifeq ($(CONFIG_OPENAMP_CACHE),y) CFLAGS += -DVIRTIO_USE_DCACHE endif ifeq ($(CONFIG_OPENAMP_DEBUG),y) CFLAGS += -DRPMSG_DEBUG -DVQUEUE_DEBUG endif CFLAGS += -Delf_load=remoteproc_elf_load ifeq ($(CONFIG_OPENAMP_VIRTIO_DEVICE_SUPPORT),y) CFLAGS += -DVIRTIO_DEVICE_SUPPORT=1 else CFLAGS += -DVIRTIO_DEVICE_SUPPORT=0 endif ifeq ($(CONFIG_OPENAMP_VIRTIO_DRIVER_SUPPORT),y) CFLAGS += -DVIRTIO_DRIVER_SUPPORT=1 else CFLAGS += -DVIRTIO_DRIVER_SUPPORT=0 endif CFLAGS += -DVQ_RX_EMPTY_NOTIFY=1 CFLAGS += -Iopen-amp/lib/include # avoid multiple definitions in other file CFLAGS += -Dsafe_strcpy=openamp_safe_strcpy CSRCS += open-amp/lib/remoteproc/elf_loader.c CSRCS += open-amp/lib/remoteproc/remoteproc.c CSRCS += open-amp/lib/remoteproc/remoteproc_virtio.c CSRCS += open-amp/lib/remoteproc/rsc_table_parser.c CSRCS += open-amp/lib/rpmsg/rpmsg.c CSRCS += open-amp/lib/rpmsg/rpmsg_virtio.c CSRCS += open-amp/lib/utils/utilities.c CSRCS += open-amp/lib/virtio/virtio.c CSRCS += open-amp/lib/virtio/virtqueue.c # Download and unpack tarball if no git repo found ifeq ($(wildcard open-amp/.git),) open-amp.zip: $(call DOWNLOAD,https://github.com/OpenAMP/open-amp/archive,v$(OPENAMP_VERSION).zip,open-amp.zip) $(Q) unzip -o open-amp.zip mv open-amp-$(OPENAMP_VERSION) open-amp $(Q) patch -p0 < 0001-ns-acknowledge-the-received-creation-message.patch $(Q) patch -p0 < 0002-Negotiate-individual-buffer-size-dynamically.patch $(Q) patch -p0 < 0003-rpmsg-notify-the-user-when-the-remote-address-is-rec.patch $(Q) patch -p0 < 0004-rpmsg-wait-ept-ready-in-rpmsg_send.patch $(Q) patch -p0 < 0005-openamp-add-VIRTIO_RING_F_MUST_NOTIFY-event.patch $(Q) patch -p0 < 0006-rpmsg_virtio-don-t-need-check-status-when-get_tx_pay.patch $(Q) patch -p0 < 0007-virtqueue-move-virtqueue_nused-and-virtqueue_navail-.patch $(Q) patch -p0 < 0008-lib-rpmsg-rpmsg_virtio-add-last-buffer-check-to-fix-.patch $(Q) patch -p0 < 0009-virtio-change-feature-to-64-bit-in-all-virtio_dispat.patch $(Q) patch -p0 < 0010-openamp-add-assert-when-get-tx-buffer-failed.patch $(Q) patch -p0 < 0011-remoteproc_virtio-add-shm_io-for-remoteproc-virtio-a.patch $(Q) patch -p0 < 0012-remoteproc-sync-the-virtio-rpmsg-config-with-linux-s.patch $(Q) patch -p0 < 0013-virtio.h-add-mm_priv-to-struct-virtio_deivce.patch $(Q) patch -p0 < 0014-lib-rpmsg_virtio-use-virtio_alloc_buf-to-alloc-share.patch $(Q) patch -p0 < 0015-lib-remoteproc_virtio-optimize-virtqueue_notificatio.patch $(Q) patch -p0 < 0016-lib-rpmsg_virtio-support-release-the-name-service-me.patch $(Q) patch -p0 < 0017-lib-virtio-virtqueue-change-the-virtqueue-dump-log-l.patch $(Q) patch -p0 < 0018-lib-rpmsg-add-priority-support-for-rpmsg-endpoint.patch $(Q) patch -p0 < 0019-rpmsg-Add-VIRTIO_RPMSG_F_BUFADDR-to-support-specify-.patch .openamp_headers: open-amp.zip else .openamp_headers: endif $(eval headers := $(wildcard open-amp/lib/include/openamp/*.h)) $(eval headers += open-amp/lib/remoteproc/rsc_table_parser.h) $(eval headers += open-amp/lib/rpmsg/rpmsg_internal.h) $(shell mkdir -p $(TOPDIR)$(DELIM)include$(DELIM)openamp$(DELIM)) $(foreach header,$(headers),$(shell cp -rf $(header) $(TOPDIR)$(DELIM)include$(DELIM)openamp$(DELIM))) touch $@ context:: .openamp_headers distclean:: $(call DELDIR, $(TOPDIR)$(DELIM)include$(DELIM)openamp$(DELIM)) ifeq ($(wildcard open-amp/.git),) $(call DELDIR, open-amp) $(call DELFILE, open-amp.zip) endif $(call DELFILE, .openamp_headers) endif