From: Koen Kooi <koen@dominion.thruhere.net>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [PATCH 1/2] ti-syslink: Add TI Syslink for TI816x and TI814x devices
Date: Tue, 05 Apr 2011 18:16:09 +0200 [thread overview]
Message-ID: <inff89$hdg$1@dough.gmane.org> (raw)
In-Reply-To: <1302016253-10390-1-git-send-email-heroor@gmail.com>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 05-04-11 17:10, Siddharth Heroor wrote:
> From: Siddharth Heroor <heroor@ti.com>
>
> * Syslink is an Inter Processor communication layer for ARM/DSP devices.
NAK!
1) This has way too much copy/paste crud from dsplink that needs to get
cleaned up, some highlights:
> +PROVIDES = "ti-syslink-module"
> +PROVIDES += "ti-syslink-examples"
> +PR_append = "j"
2) inconsistent whitespace every where, do_compile is the worst
3) This really needs to get split into 2 recipes: one for the kernel
modules using module.bbclass and one for the userspace bits.
4) The platform defines seem to be better suited for e.g. ti-paths.inc
>
> Signed-off-by: Siddharth Heroor <heroor@ti.com>
> ---
> recipes/ti/ti-syslink.inc | 183 +++++++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 183 insertions(+), 0 deletions(-)
> create mode 100644 recipes/ti/ti-syslink.inc
>
> diff --git a/recipes/ti/ti-syslink.inc b/recipes/ti/ti-syslink.inc
> new file mode 100644
> index 0000000..651d840
> --- /dev/null
> +++ b/recipes/ti/ti-syslink.inc
> @@ -0,0 +1,183 @@
> +DESCRIPTION = "SYSLINK Inter-Processor Communications (IPC) for TI ARM/DSP processors"
> +HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/SysLink/index.html"
> +SECTION = "devel"
> +LICENSE = "BSD"
> +
> +require ti-paths.inc
> +require ti-staging.inc
> +
> +COMPATIBLE_MACHINE = "(ti816x|ti814x)"
> +
> +
> +# This package builds a kernel module, use kernel PR as base and append a local version
> +PR = "${MACHINE_KERNEL_PR}"
> +
> +S = "${WORKDIR}/syslink_${PV}"
> +
> +SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/SysLink/${PV}/exports/syslink_${PV}.tar.gz;name=syslinktarball"
> +
> +DEPENDS = "ti-sysbios ti-xdctools ti-cgt6x ti-ipc"
> +DEPENDS += "virtual/kernel"
> +
> +# Define Syslink variables.
> +SYSLINKHLOSSAMPLES = "procMgr frameq gateMP heapBufMP heapMemMP listMP messageQ notify ringIO ringIO_gpp sharedRegion"
> +SYSLINKPLATFORM ?= "TI81XX"
> +SYSLINKSUFFIX ?= "xe674"
> +SYSLINKLOADER ?= "ELF"
> +
> +SYSLINKVARIANT_ti816x = "TI816X"
> +SYSLINKVARIANT_ti814x = "TI814X"
> +SYSLINKVARIANT ?= "<UNDEFINED_SYSLINKVARIANT>"
> +
> +# Export additional variables needed by build
> +XDCTARGETS ?= "ti.targets.elf.C674"
> +export XDCTARGETS
> +
> +SYSLINK_ROOT = "${S}"
> +export SYSLINK_ROOT
> +
> +XDCPATH = "${IPC_INSTALL_DIR}/packages;${SYSBIOS_INSTALL_DIR}/packages"
> +export XDCPATH
> +
> +XDCBUILDCFG="${SYSLINK_ROOT}/config.bld"
> +export XDCBUILDCFG
> +
> +do_configure() {
> + # Update config.bld with rootDir paths for CodeGen Tools
> + # Build only C674 Elf.
> + sed -i \
> + -e s:^C674_ELF.rootDir.*:C674_ELF.rootDir\ =\ \"${CODEGEN_INSTALL_DIR}\":g \
> + -e s:C64P_COFF,://C64P_COFF:g \
> + -e s:C64P_ELF,://C64P_ELF:g \
> + -e s:C674_COFF,://C674_COFF:g \
> + -e s:C674_ELF,:C674_ELF:g \
> + -e s:M3_ELF,://M3_ELF:g \
> + -e s:A8_ELF$://A8_ELF:g \
> + -e 's/"ti.platforms.evmDA830:dsp",//g' \
> + ${S}/config.bld
> +}
> +
> +do_prepsources () {
> + # Prepare the tree for rebuilding - clean and generate interfaces
> + cd ${SYSLINK_ROOT}/ti/syslink
> + ${XDC_INSTALL_DIR}/xdc .make -PR .
> + ${XDC_INSTALL_DIR}/xdc clean -PR .
> + ${XDC_INSTALL_DIR}/xdc .interfaces -PR .
> +}
> +
> +addtask prepsources after do_configure before do_compile
> +
> +do_compile() {
> + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
> +
> + # Build the gpp (hlos) kernel space
> + cd ${S}/ti/syslink/utils/hlos/knl/Linux && make \
> + ARCH="${TARGET_ARCH}" \
> + CROSS_COMPILE="${TARGET_PREFIX}" \
> + SYSLINK_PLATFORM="${SYSLINKPLATFORM}" \
> + SYSLINK_VARIANT="${SYSLINKVARIANT}" \
> + SYSLINK_LOADER="${SYSLINKLOADER}" \
> + SYSLINK_PKGPATH="${IPC_INSTALL_DIR}/packages" \
> + KDIR="${STAGING_KERNEL_DIR}"
> +
> + # Build the gpp (hlos) kernel space samples.
> + for sample in ${SYSLINKHLOSSAMPLES}; do
> + cd ${S}/ti/syslink/samples/hlos/$sample/knl/Linux && make \
> + ARCH="${TARGET_ARCH}" \
> + CROSS_COMPILE="${TARGET_PREFIX}" \
> + SYSLINK_PLATFORM="${SYSLINKPLATFORM}" \
> + SYSLINK_VARIANT="${SYSLINKVARIANT}" \
> + SYSLINK_LOADER="${SYSLINKLOADER}" \
> + SYSLINK_PKGPATH="${IPC_INSTALL_DIR}/packages" \
> + SYSLINK_SDK=EZSDK \
> + KDIR="${STAGING_KERNEL_DIR}"
> + done
> +
> + # Build the gpp (hlos) user space
> + cd ${S}/ti/syslink/utils/hlos/usr/Linux && make \
> + ARCH="${TARGET_ARCH}" \
> + CROSS_COMPILE="${TARGET_PREFIX}" \
> + TOOLCHAIN_PREFIX="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}" \
> + SYSLINK_PLATFORM="${SYSLINKPLATFORM}" \
> + SYSLINK_VARIANT="${SYSLINKVARIANT}" \
> + SYSLINK_LOADER="${SYSLINKLOADER}" \
> + SYSLINK_PKGPATH="${IPC_INSTALL_DIR}/packages"
> +
> + # Build the gpp (hlos) user space samples
> + # First build the common lib for samples.
> + cd ${S}/ti/syslink/samples/hlos/common/usr/Linux && make \
> + ARCH="${TARGET_ARCH}" \
> + CROSS_COMPILE="${TARGET_PREFIX}" \
> + TOOLCHAIN_PREFIX="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}" \
> + SYSLINK_PLATFORM="${SYSLINKPLATFORM}" \
> + SYSLINK_VARIANT="${SYSLINKVARIANT}" \
> + SYSLINK_LOADER="${SYSLINKLOADER}" \
> + SYSLINK_SDK=EZSDK \
> + SYSLINK_PKGPATH="${IPC_INSTALL_DIR}/packages"
> +
> + for sample in ${SYSLINKHLOSSAMPLES}; do
> + cd ${S}/ti/syslink/samples/hlos/$sample/usr/Linux && make \
> + ARCH="${TARGET_ARCH}" \
> + CROSS_COMPILE="${TARGET_PREFIX}" \
> + TOOLCHAIN_PREFIX="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}" \
> + SYSLINK_PLATFORM="${SYSLINKPLATFORM}" \
> + SYSLINK_VARIANT="${SYSLINKVARIANT}" \
> + SYSLINK_LOADER="${SYSLINKLOADER}" \
> + SYSLINK_SDK=EZSDK \
> + SYSLINK_PKGPATH="${IPC_INSTALL_DIR}/packages"
> + done
> +
> + # Build the dsp/arm (rtos) code (system)
> + cd ${S}/ti/syslink && \
> + ${XDC_INSTALL_DIR}/xdc -P \
> + `${XDC_INSTALL_DIR}/bin/xdcpkg ${SYSLINK_ROOT}/ti/syslink | grep -v samples`
> +
> + # Build the dsp/arm (rtos) code (samples)
> + export XDCARGS="profile=debug"
> + cd ${S}/ti/syslink && \
> + ${XDC_INSTALL_DIR}/xdc --jobs=${BB_NUMBER_THREADS} -P \
> + `${XDC_INSTALL_DIR}/bin/xdcpkg ${SYSLINK_ROOT}/ti/syslink | grep samples`
> +}
> +
> +do_install () {
> + # Install the hlos kernel module
> + install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
> + install -m 0755 ${S}/ti/syslink/bin/${SYSLINKVARIANT}/syslink.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/
> +
> + # Install the hlos examples
> + install -d ${D}/${installdir}/ti-syslink-examples
> + install -m 0755 ${S}/ti/syslink/bin/${SYSLINKVARIANT}/samples/* ${D}/${installdir}/ti-syslink-examples/
> +
> + # Install the rtos examples
> + cd ${S}/ti/syslink/samples/rtos
> + for i in $(find . -name "*.${SYSLINKSUFFIX}"); do
> + install -d ${D}/${installdir}/ti-syslink-examples/`dirname ${i} | cut -f4 -d /`
> + install ${i} ${D}/${installdir}/ti-syslink-examples/`dirname ${i} | cut -f4 -d /`
> + done
> +
> + # Install/Stage the Source Tree
> + install -d ${D}${SYSLINK_INSTALL_DIR_RECIPE}
> + cp -pPrf ${S}/* ${D}${SYSLINK_INSTALL_DIR_RECIPE}
> +}
> +
> +PACKAGES += "ti-syslink-module"
> +FILES_ti-syslink-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/syslink.ko"
> +RDEPENDS_ti-syslink-module += "update-modules"
> +
> +pkg_postinst_ti-syslink-module () {
> +#!/bin/sh
> +if [ -n "$D" ]; then
> + exit 1
> +fi
> +
> +depmod -a
> +update-modules || true
> +}
> +
> +pkg_postrm_ti-syslink-module () {
> +#!/bin/sh
> +update-modules || true
> +}
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
iD8DBQFNm0BJMkyGM64RGpERAqy5AJ9T3vsdHIinTlVPOLVPVzqheFzqIgCcCVnW
qCNQqh3vixfM9CqJH0quZL0=
=Vgxn
-----END PGP SIGNATURE-----
next prev parent reply other threads:[~2011-04-05 16:18 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-05 15:10 [PATCH 1/2] ti-syslink: Add TI Syslink for TI816x and TI814x devices Siddharth Heroor
2011-04-05 15:10 ` [PATCH 2/2] ti-syslink: Add release 02.00.00.68 Siddharth Heroor
2011-04-05 16:16 ` Koen Kooi [this message]
2011-04-06 2:42 ` [PATCH 1/2] ti-syslink: Add TI Syslink for TI816x and TI814x devices Siddharth Heroor
2011-04-06 7:28 ` Koen Kooi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='inff89$hdg$1@dough.gmane.org' \
--to=koen@dominion.thruhere.net \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.