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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox