############################################################################ # openamp/open-amp.defs # # Copyright (C) 2019 Xiaomi. All rights reserved. # Author: Xiang Xiao # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in # the documentation and/or other materials provided with the # distribution. # 3. Neither the name NuttX nor the names of its contributors may be # used to endorse or promote products derived from this software # without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS # OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # ############################################################################ ifeq ($(CONFIG_OPENAMP),y) 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 open-amp.zip: $(Q) wget https://github.com/OpenAMP/open-amp/archive/v$(VERSION).zip -O open-amp.zip $(Q) unzip -o open-amp.zip $(Q) mv open-amp-$(VERSION) open-amp $(Q) patch -p0 < 0001-rpmsg-remove-the-address-check-in-rpmsg_send-rpmsg_t.patch $(Q) patch -p0 < 0002-rpmsg-merge-rpmsg_register_endpoint-into-rpmsg_init_.patch $(Q) patch -p0 < 0003-rpmsg-shouldn-t-allocate-0-1023-address-in-rpmsg_cre.patch $(Q) patch -p0 < 0004-rpmsg-wait-ept-ready-in-rpmsg_send.patch $(Q) patch -p0 < 0005-rpmsg-return-fail-if-either-source-or-destination-ad.patch $(Q) patch -p0 < 0006-remoteproc_mmap-support-va-to-pa-da-conversion.patch $(Q) patch -p0 < 0007-rpmsg-bring-back-zero-copy-transfer.patch $(Q) patch -p0 < 0008-ns-acknowledge-the-received-creation-message.patch $(Q) patch -p0 < 0009-implement-rproc_virtio_read_config-rproc_virtio_writ.patch $(Q) patch -p0 < 0010-Negotiate-individual-buffer-size-dynamically.patch .openamp_headers: open-amp.zip $(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 $@ dirlinks:: .openamp_headers distclean:: $(call DELDIR, $(TOPDIR)$(DELIM)include$(DELIM)openamp$(DELIM)) $(call DELDIR, open-amp) $(call DELFILE, open-amp.zip) $(call DELFILE, .openamp_headers) endif