summaryrefslogtreecommitdiff
path: root/recipes/ixp4xx/ixp-osal_2.1.1.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/ixp4xx/ixp-osal_2.1.1.bb')
-rw-r--r--recipes/ixp4xx/ixp-osal_2.1.1.bb101
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 () {
+}