diff options
Diffstat (limited to 'recipes/ixp4xx/ixp-osal_2.1.1.bb')
-rw-r--r-- | recipes/ixp4xx/ixp-osal_2.1.1.bb | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/recipes/ixp4xx/ixp-osal_2.1.1.bb b/recipes/ixp4xx/ixp-osal_2.1.1.bb new file mode 100644 index 0000000000..481033fd0a --- /dev/null +++ b/recipes/ixp4xx/ixp-osal_2.1.1.bb @@ -0,0 +1,101 @@ +DEFAULT_PREFERENCE = "-1" +# Intel ixp4xx access library software. Note that this has an Intel +# license which restricts its use. +HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp420.htm" +LICENSE = "http://www.intel.com/design/network/swsup/np_sla/ixp400.htm" +LICENSE_HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp425swr1.htm" +# You must download the following software to your OpenEmbedded downloads +# directory before using this package: +# +# BSD_ixp400AccessLibrary-2_1.zip +# BSD_ixp400AccessLibrary-2_1_1.zip +# +# To do this go to the LICENSE_HOMEPAGE above, register/login (using a +# web browser which is supported by the login page), this will give you +# access to the web page from which you can download the software - you +# need the: "IntelĀ® IXP400 Software and RedBoot* Boot Loader" and, from +# this the "Intel Hardware Access Software" (versions 2.1 encryption is +# not required.) +# +# Store the file with the name given below in your downloads directory +# and store the 32 character md5sum of the file in a file of the same +# name with the additional extension .md5: +# +# BSD_ixp400AccessLibrary-2_1.zip.md5 +# BSD_ixp400AccessLibrary-2_1_1.zip.md5 +# +SRC_URI = "http://www.intel.com/Please-Read-The-BB-File/BSD_ixp400AccessLibrary-2_1.zip" +SRC_URI += "http://www.intel.com/Please-Read-The-BB-File/BSD_ixp400AccessLibrary-2_1_1.zip" +SRC_URI += "file://Makefile.patch;patch=1" +SRC_URI += "file://2.6.patch;patch=1" +SRC_URI += "file://invalidate-cache.patch;patch=1" +SRC_URI += "file://ixp4xx-header.patch;patch=1" +SRC_URI += "file://le.patch;patch=1" +SRC_URI += "file://assert.patch;patch=1" + +S = "${WORKDIR}/ixp_osal" +PR = "r0" + +COMPATIBLE_HOST = "^arm.*-linux.*" +COMPATIBLE_MACHINE = "(nslu2|ixp4xx)" + +inherit module + +do_pre_patch () { + ( cd ${WORKDIR} ; mkdir patches ; mv BSD_ixp400AccessLibrary-2_1_1.patch patches/ ; \ + echo "BSD_ixp400AccessLibrary-2_1_1.patch -p0" >> patches/series ; \ + quilt push ) +} + +addtask pre_patch before do_patch + +IX_TARGET = "linux${SITEINFO_ENDIANESS}" +IX_ENSURE = "" +#IX_ENSURE = "IX_OSAL_ENSURE_ON=1" + +EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \ + 'LD=${KERNEL_LD}' \ + 'AR=${AR}' \ + 'IX_XSCALE_SW=${S}' \ + 'IX_TARGET=${IX_TARGET}' \ + 'IX_DEVICE=ixp42X' \ + ${IX_ENSURE} \ + 'LINUX_SRC=${STAGING_KERNEL_DIR}' \ + 'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \ + " + +OSAL_PATH = "lib/ixp425/linux/${IX_TARGET}" +# This is a somewhat arbitrary choice: +OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal" + +do_compile () { + oe_runmake ${OSAL_PATH}/libosal.a ${OSAL_PATH}/ixp_osal.o +} + +do_stage () { + # Clean the directory first, this ensures incremental builds have + # a slightly better chance of working + rm -rf ${OSAL_DIR} + install -d ${OSAL_DIR} + + # First the include files, maintain the tree structure (ixp4xx-csr + # expects the exact same tree) + cp -RLf include ${OSAL_DIR} + install -d ${OSAL_DIR}/os/linux + cp -RLf os/linux/include ${OSAL_DIR}/os/linux + + # Install the library/object + install -d ${OSAL_DIR}/${OSAL_PATH} + rm -f ${OSAL_DIR}/libosal + install -m 0644 ${OSAL_PATH}/libosal.a ${OSAL_DIR}/${OSAL_PATH} + touch ${OSAL_DIR}/libosal + rm -f ${OSAL_DIR}/module + install -m 0644 ${OSAL_PATH}/ixp_osal.o ${OSAL_DIR}/${OSAL_PATH} + touch ${OSAL_DIR}/module +} + +# This stuff doesn't install anything... +PACKAGES = "" + +do_install () { +} |