ixp4xx-kernel: Modified to use arm-kernel-shim instead of hard-coded devio incantations
authorRod Whitby <rod@whitby.id.au>
Mon, 12 Feb 2007 05:51:00 +0000 (05:51 +0000)
committerRod Whitby <rod@whitby.id.au>
Mon, 12 Feb 2007 05:51:00 +0000 (05:51 +0000)
packages/linux/ixp4xx-kernel.inc
packages/linux/ixp4xx-kernel_2.6.19.bb
packages/linux/ixp4xx-kernel_2.6.20.bb

index 3a80703..d848427 100644 (file)
@@ -26,6 +26,8 @@ SECTION = "kernel"
 DESCRIPTION = "Linux kernel for the Intel IXP4xx device"
 LICENSE = "GPL"
 
+DEPENDS = "arm-kernel-shim devio-native"
+
 # Linux kernel source has the general form linux-X.Y.Z-patchP,
 # X.Y is the major version number, Z (which may have multiple
 # parts) is a sub-version and 'patch' is something like 'mm' or
@@ -298,12 +300,8 @@ pkg_postrm_kernel-image-fsg3 () {
        update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-fsg3${SITEINFO_ENDIANESS}-${KERNEL_VERSION} || true
 }
 
-#FIXUP: the correct instructions to copy the kernel prepended with the le fixup
-#FIXME: do a fixup for BE too...
-FIXUP_armeb = "cp$"
-FIXUP_arm   = "wb 0xee110f10,4;wb 0xe3c00080,4;wb 0xee010f10,4;xp $,4"
-
-DEPENDS += "devio-native"
+BYTESWAP_armeb = "cp$"
+BYTESWAP_arm   = "xp $,4"
 
 # We need the alternatives to happen in the kernel-image packages, not in
 # the kernel package, because only the images know the name of the kernel.
@@ -312,22 +310,23 @@ pkg_postinst_kernel () {
 pkg_postrm_kernel () {
 }
 
-# copy_image <dest> <cmdline> <machine-id>
+# copy_image <dest> <machine>
 #      copy the zImage and append the appropriate shim
 #  dest:       where to copy to
-#  cmdline:    command line to pass to image
-#  machine-id: decimal machine id to prepend, empty for none
+#  machine:    machine shim to prepend, empty for none
 copy_image() {
-       local setmach
+       local shim
 
-       setmach=""
-       test -n "$2" && setmach="wb $2 . 256/ 255& 0xe3a01c00+, 4; wb 255& 0xe3811000+, 4;"
+       shim="/dev/null"
+       test -n "$2" && shim="${STAGING_LOADER_DIR}/arm-kernel-shim-$2.bin"
 
-       rm -f "$1".new
-       devio '<<${KERNEL_OUTPUT}' >"$1".new "$setmach"'${FIXUP}' || {
+       rm -f "$1".new "$1".shimmed
+       cat $shim ${KERNEL_OUTPUT} > "$1".shimmed
+       devio '<<'"$1"'.shimmed' >"$1".new '${BYTESWAP}' || {
                echo 'ERROR: ${KERNEL_OUTPUT}: failed to copy zImage' >&2
                return 1
        }
+       rm -f "$1".shimmed
        mv "$1".new "$1"
 }
 
@@ -342,10 +341,10 @@ do_install_append() {
        install_image '${MACHINE_ARCH}'
 
        # Add the machine specific images, with appropriate suffixes
-       install_image 'nslu2${SITEINFO_ENDIANESS}' '${nslu2_MACHID}'
-       install_image 'nas100d${SITEINFO_ENDIANESS}' '${nas100d_MACHID}'
-       install_image 'dsmg600${SITEINFO_ENDIANESS}' '${dsmg600_MACHID}'
-       install_image 'fsg3${SITEINFO_ENDIANESS}' '${fsg3_MACHID}'
+       install_image 'nslu2${SITEINFO_ENDIANESS}' 'nslu2'
+       install_image 'nas100d${SITEINFO_ENDIANESS}' 'nas100d'
+       install_image 'dsmg600${SITEINFO_ENDIANESS}' 'dsmg600'
+       install_image 'fsg3${SITEINFO_ENDIANESS}' 'fsg3'
 }
 
 do_deploy[dirs] = "${S}"
@@ -359,10 +358,10 @@ do_deploy() {
        deploy_image '${MACHINE_ARCH}'
 
        # And the machine specific images
-       deploy_image 'nslu2${SITEINFO_ENDIANESS}' '${nslu2_MACHID}'
-       deploy_image 'nas100d${SITEINFO_ENDIANESS}' '${nas100d_MACHID}'
-       deploy_image 'dsmg600${SITEINFO_ENDIANESS}' '${dsmg600_MACHID}'
-       deploy_image 'fsg3${SITEINFO_ENDIANESS}' '${fsg3_MACHID}'
+       deploy_image 'nslu2${SITEINFO_ENDIANESS}' 'nslu2'
+       deploy_image 'nas100d${SITEINFO_ENDIANESS}' 'nas100d'
+       deploy_image 'dsmg600${SITEINFO_ENDIANESS}' 'dsmg600'
+       deploy_image 'fsg3${SITEINFO_ENDIANESS}' 'fsg3'
 }
 
 addtask deploy before do_build after do_compile
index f10af6c..eba9d6a 100644 (file)
@@ -6,7 +6,7 @@
 # http://trac.nslu2-linux.org/kernel/
 #
 # The revision that is pulled from SVN is specified below
-IXP4XX_KERNEL_SVN_REV = "683"
+IXP4XX_KERNEL_SVN_REV = "693"
 #
 # The directory containing the patches to be applied is
 # specified below
@@ -23,16 +23,3 @@ require ixp4xx-kernel-svnpatch.inc
 
 SRC_URI += "file://defconfig"
 SRC_URI += "file://series"
-
-# Remove the specific cmdline hacking patches if we are not building for nslu2.
-addtask remove_cmdline_hacks before do_patch after do_unpack
-do_remove_cmdline_hacks() {
-
-#      if [ "${MACHINE}" != "nslu2" ] ; then
-               sed     -e '/88-nas100d-dflt-cmdline.patch/d' \
-                       -e '/88-nslu2-dflt-cmdline.patch/d' \
-                       '${WORKDIR}/series' > '${WORKDIR}/series.new'
-               mv '${WORKDIR}/series.new' '${WORKDIR}/series'
-#      fi
-
-}
index 6fd1330..2e768b1 100644 (file)
@@ -6,7 +6,7 @@
 # http://trac.nslu2-linux.org/kernel/
 #
 # The revision that is pulled from SVN is specified below
-IXP4XX_KERNEL_SVN_REV = "686"
+IXP4XX_KERNEL_SVN_REV = "693"
 #
 # The directory containing the patches to be applied is
 # specified below
@@ -23,16 +23,3 @@ require ixp4xx-kernel-svnpatch.inc
 
 SRC_URI += "file://defconfig"
 SRC_URI += "file://series"
-
-# Remove the specific cmdline hacking patches if we are not building for nslu2.
-addtask remove_cmdline_hacks before do_patch after do_unpack
-do_remove_cmdline_hacks() {
-
-       if [ "${MACHINE}" != "nslu2" ] ; then
-               sed     -e '/88-nas100d-dflt-cmdline.patch/d' \
-                       -e '/88-nslu2-dflt-cmdline.patch/d' \
-                       '${WORKDIR}/series' > '${WORKDIR}/series.new'
-               mv '${WORKDIR}/series.new' '${WORKDIR}/series'
-       fi
-
-}