blob: 548906d2544e44cfee787995cf373f4ece9c497e [file] [log] [blame]
############################################################################
# openamp/open-amp.defs
#
# 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_CACHED_BUFFERS -DVIRTIO_CACHED_VRINGS
endif
ifeq ($(CONFIG_OPENAMP_RPMSG_DEBUG),y)
CFLAGS += -DRPMSG_DEBUG
endif
ifeq ($(CONFIG_OPENAMP_VQUEUE_DEBUG),y)
CFLAGS += -DVQUEUE_DEBUG
endif
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/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$(VERSION).zip,open-amp.zip)
$(Q) unzip -o open-amp.zip
$(Q) mv open-amp-$(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-wait-endpoint-ready-in-rpmsg_send-and-rpmsg_se.patch
$(Q) patch -p0 < 0004-openamp-add-new-ops-notify_wait-support.patch
$(Q) patch -p0 < 0005-rpmsg_virtio-don-t-need-check-status-when-get_tx_pay.patch
$(Q) patch -p0 < 0006-rpmsg-notify-the-user-when-the-remote-address-is-rec.patch
$(Q) patch -p0 < 0007-openamp-avoid-double-calling-ns_bound-when-each-othe.patch
$(Q) patch -p0 < 0008-remoteproc-make-all-elf_-functions-static-except-elf.patch
$(Q) patch -p0 < 0009-Fix-warn-declaration-of-vring_rsc-shadows-a-previous.patch
$(Q) patch -p0 < 0010-rptun-fix-rptun-don-t-wait-issue-when-get-tx-patyloa.patch
$(Q) patch -p0 < 0011-rpmsg-fix-rpmsg_virtio_get_tx_buffer-no-idx-return.patch
$(Q) patch -p0 < 0012-rpmsg-add-new-API-rpdev_release_tx-rx_buffer.patch
$(Q) patch -p0 < 0013-openamp-add-error-log-when-ept-cb-return-error.patch
$(Q) patch -p0 < 0014-rpmsg-add-cache-flash-when-hold-rx-buffer.patch
$(Q) patch -p0 < 0015-rpmsg-do-cache_invalidate-when-real-data-returned.patch
$(Q) patch -p0 < 0016-openamp-add-new-API-rpmsg_virtio_get_rxbuffer_size.patch
$(Q) patch -p0 < 0017-virtio-follow-virtio-1.2-spec-add-more-virtio-status.patch
$(Q) patch -p0 < 0018-virtio-decoupling-the-transport-layer-and-virtio-dev.patch
$(Q) patch -p0 < 0019-virtio.h-add-version-in-device-id-table.patch
$(Q) patch -p0 < 0020-virtio-Add-the-virtio_negotiate_features-interface.patch
.openamp_headers: open-amp.zip
else
.openamp_headers:
endif
$(eval headers := $(wildcard open-amp/lib/include/openamp/*.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