ixp4xx (and related ixp4xx-specific files): Change all usage of ARCH_BYTE_SEX to...
authorRod Whitby <rod@whitby.id.au>
Tue, 23 Jan 2007 02:21:17 +0000 (02:21 +0000)
committerRod Whitby <rod@whitby.id.au>
Tue, 23 Jan 2007 02:21:17 +0000 (02:21 +0000)
27 files changed:
conf/distro/include/slugos.inc
conf/distro/slugos-bag.conf
conf/distro/slugos-bau.conf
conf/distro/slugos-btu.conf
conf/distro/slugos-lag.conf
conf/distro/slugos-lau.conf
conf/distro/slugos-ltu.conf
conf/distro/unslung.conf
conf/machine/include/ixp4xx.conf
conf/machine/ixp4xx.conf
conf/machine/ixp4xxbe.conf
conf/machine/ixp4xxle.conf
conf/machine/nslu2.conf
conf/machine/nslu2be.conf [new file with mode: 0644]
conf/machine/nslu2le.conf [new file with mode: 0644]
packages/images/slugos-image.bb
packages/ixp425-eth/ixp400-eth_1.4.bb
packages/ixp425-eth/ixp400-eth_1.5.1.bb
packages/ixp425-eth/ixp400-eth_1.5.bb
packages/ixp4xx/ixp-osal_2.0.bb
packages/ixp4xx/ixp-osal_2.1.1.bb
packages/ixp4xx/ixp-osal_2.1.bb
packages/ixp4xx/ixp4xx-csr_2.0.bb
packages/ixp4xx/ixp4xx-csr_2.1.1.bb
packages/ixp4xx/ixp4xx-csr_2.1.bb
packages/linux/ixp4xx-kernel.inc
packages/linux/nslu2-kernel.inc

index 7ca663a..1cb9ef0 100644 (file)
@@ -11,7 +11,7 @@
 # slugos-[bl][at][gu] - a specific configuration encoded as follows:
 #
 #  b or l - big or little endian
-#         set ARCH_BYTE_SEX to match
+#         set IXP4XX_MACHINE_ENDIAN to match
 #
 #  a or t - ARM or Thumb instructions in the low level libraries
 #         set ARM_INSTRUCTION_SET to match
@@ -45,7 +45,7 @@ DISTRO_FEED ?= "unstable"
 
 # The following must also be set, they define the basic format of the build
 #
-#ARCH_BYTE_SEX "be" or "le"
+#IXP4XX_MACHINE_ENDIAN "be" or "le"
 #ARM_INSTRUCTION_SET "arm" or "thumb"
 #TARGET_OS "linux" or "linux-uclibc"
 #SLUGOS_IMAGESEX "big-endian" or "little-endian" (JFFS2 format)
@@ -55,7 +55,7 @@ DISTRO_FEED ?= "unstable"
 USE_NLS ?= "no"
 
 # To make errors easier to identify:
-DISTRO_NAME ?= "INVALID-${ARCH_BYTE_SEX}-${ARM_INSTRUCTION_SET}-${TARGET_OS}"
+DISTRO_NAME ?= "INVALID-${IXP4XX_MACHINE_ENDIAN}-${ARM_INSTRUCTION_SET}-${TARGET_OS}"
 DISTRO_TYPE ?= "INVALID"
 
 # The following must not be changed.
index 12deb5e..89e61cb 100644 (file)
@@ -10,7 +10,7 @@ DISTRO_NAME ?= "slugos-bag"
 # DISTRO_FEED ?= "unstable"
 DISTRO_TYPE ?= "beta"
 
-ARCH_BYTE_SEX = "be"
+IXP4XX_MACHINE_ENDIAN = "be"
 ARM_INSTRUCTION_SET = "arm"
 TARGET_OS = "linux"
 SLUGOS_IMAGESEX  ?= "big-endian"
index 1e74dfc..c6a609d 100644 (file)
@@ -11,7 +11,7 @@ DISTRO_NAME ?= "slugos-bau"
 # DISTRO_FEED ?= "unstable"
 DISTRO_TYPE ?= "alpha"
 
-ARCH_BYTE_SEX = "be"
+IXP4XX_MACHINE_ENDIAN = "be"
 ARM_INSTRUCTION_SET = "arm"
 TARGET_OS = "linux-uclibc"
 SLUGOS_IMAGESEX  ?= "big-endian"
index 125d6e0..a378551 100644 (file)
@@ -10,7 +10,7 @@ DISTRO_NAME ?= "slugos-btu"
 # DISTRO_FEED ?= "unstable"
 DISTRO_TYPE ?= "beta"
 
-ARCH_BYTE_SEX = "be"
+IXP4XX_MACHINE_ENDIAN = "be"
 ARM_INSTRUCTION_SET = "thumb"
 TARGET_OS = "linux-uclibc"
 SLUGOS_IMAGESEX  ?= "big-endian"
index 5d65fcd..feefb88 100644 (file)
@@ -10,7 +10,7 @@ DISTRO_NAME ?= "slugos-lag"
 # DISTRO_FEED ?= "unstable"
 DISTRO_TYPE ?= "beta"
 
-ARCH_BYTE_SEX = "le"
+IXP4XX_MACHINE_ENDIAN = "le"
 ARM_INSTRUCTION_SET = "arm"
 TARGET_OS = "linux"
 SLUGOS_IMAGESEX  ?= "big-endian"
index 56c71fb..098f868 100644 (file)
@@ -9,7 +9,7 @@ DISTRO_NAME ?= "slugos-lau"
 # DISTRO_FEED ?= "unstable"
 DISTRO_TYPE ?= "alpha"
 
-ARCH_BYTE_SEX = "le"
+IXP4XX_MACHINE_ENDIAN = "le"
 ARM_INSTRUCTION_SET = "arm"
 TARGET_OS = "linux-uclibc"
 SLUGOS_IMAGESEX  ?= "big-endian"
index 5a4f22f..2151446 100644 (file)
@@ -9,7 +9,7 @@ DISTRO_NAME ?= "slugos-ltu"
 # DISTRO_FEED ?= "unstable"
 DISTRO_TYPE ?= "beta"
 
-ARCH_BYTE_SEX = "le"
+IXP4XX_MACHINE_ENDIAN = "le"
 ARM_INSTRUCTION_SET = "thumb"
 TARGET_OS = "linux-uclibc"
 SLUGOS_IMAGESEX  ?= "big-endian"
index 25ac84d..befbae8 100644 (file)
@@ -18,7 +18,7 @@ TARGET_FPU = "soft"
 TARGET_OS = "linux"
 
 # select distro specific options to match that of the original LinkSys build
-ARCH_BYTE_SEX = "be"
+IXP4XX_MACHINE_ENDIAN = "be"
 ARM_INSTRUCTION_SET = "arm"
 THUMB_INTERWORK = "no"
 
index 0aba653..42ca723 100644 (file)
@@ -2,6 +2,12 @@
 #@NAME: ixp4xx
 #@DESCRIPTION: genric machine configuration for ixp4xx platforms
 
+MACHINE_FEATURES = "kernel26 usbhost ext2"
+
+EXTRA_IMAGECMD_jffs2 = "--pad --eraseblock=0x20000 --faketime -n"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "ixp4xx-kernel"
+
 #-------------------------------------------------------------------------------
 # INPUTS
 #-------------------------------------------------------------------------------
 # <possible values>
 #    description
 
-ARCH_BYTE_SEX = "le"
+IXP4XX_MACHINE_ENDIAN ?= "le"
 # "be" "le"
 #    The memory byte sex and (on correctly implemented hardware - the IXP4XX is
 #    correct) the byte sex of the buses within the system.  'be' (big-endian)
 #    means that the first byte is the most significant byte on a bus, 'le'
 #    (little-endian) means that the first byte is the least significant byte.
+# Default to little-endian mode (since EABI does not support big endian yet)
 
 ARM_INSTRUCTION_SET = "arm"
 # "arm" "thumb"
@@ -44,12 +51,6 @@ DISTRO_BASE = ""
 #    after ${DISTRO}, this allows different distros to share a common base of
 #    overrides.  The value given must include a leading ':' or chaos will result.
 
-IXP4XX_SUFFIX = "${MACHINE_ARCH}"
-# <string>
-#    Kernel suffix - 'ixp4xxbe' or 'ixp4xxle' for a truely generic image, controls
-#    the suffix on the name of the generated zImage, override in the DISTRO
-#    configuration if patches or defconfig are changed for the DISTRO.
-
 #-------------------------------------------------------------------------------
 # OUTPUTS
 #-------------------------------------------------------------------------------
@@ -57,27 +58,21 @@ IXP4XX_SUFFIX = "${MACHINE_ARCH}"
 #OVERRIDES
 #    The standard ':' separated list of overrides used by bitbake - see the
 #    basic setting in bitbake.conf.  This list is based on that used for the
-#    standard setting however :<base>, :thumb and :thumb-interwork will be
-#    inserted at appropriate points if a base distro, default use of thumb or
-#    arm/thumb interworking are enabled in the inputs.
-OVERRIDE_THUMB = "${@['', ':thumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
-OVERRIDE_INTERWORK = "${@['', ':thumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}"
-OVERRIDES = "local:${MACHINE}:ixp4xx:${DISTRO}${DISTRO_BASE}:${TARGET_OS}:${TARGET_ARCH}${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}:build-${BUILD_OS}:fail-fast"
+#    standard setting however :<base> will be
+#    inserted at appropriate points if a base distro is enabled in the inputs.
+OVERRIDES = "local:${MACHINE}:ixp4xx:${DISTRO}${DISTRO_BASE}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast"
 
-# TARGET_CC_ARCH
-# TARGET_CC_KERNEL_ARCH
-# TARGET_LD_ARCH
-# TARGET_LD_KERNEL_ARCH
-#    Compiler and linker options for application code and kernel code.  These
-#    options ensure that the compiler has the correct settings for the selected
-#    instruction set and interworking.
-ARM_INTERWORK_M_OPT = "${@['-mno-thumb-interwork', '-mthumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}"
-ARM_THUMB_M_OPT = "${@['-mno-thumb', '-mthumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
-#
-TARGET_CC_ARCH = "-march=armv5te -mtune=xscale ${ARM_INTERWORK_M_OPT} ${ARM_THUMB_M_OPT}"
-TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale -mno-thumb-interwork -mno-thumb"
-TARGET_LD_ARCH = ""
-TARGET_LD_KERNEL_ARCH = ""
+require conf/machine/include/tune-xscale.conf
+require conf/machine/include/tune-thumb.conf
+
+#-------------------------------------------------------------------------------
+# Board defaults
+#-------------------------------------------------------------------------------
+# These values are board specific but they seem to be common to a large number
+# of boards so are reasonable defaults.
+SERIAL_CONSOLE = "115200 ttyS0"
+KERNEL_CONSOLE = "ttyS0,115200n8"
+USE_VT = "0"
 
 # FULL_OPTIMIZATION
 #    Optimization settings.  Os works fine and is significantly better than O2.
@@ -91,68 +86,3 @@ FULL_OPTIMIZATION = "-Os -fomit-frame-pointer -frename-registers \
        -fno-unroll-loops -fno-inline-functions \
        -fweb -funit-at-a-time"
 
-# TARGET_ARCH
-#    The correct setting for the system endianness (ARCH_BYTE_SEX).  This will
-#    be arm (le) or armeb (be) - it is difficult to be more precise in the
-#    setting because of the large number of ways it is used within OpenEmbedded.
-TARGET_ARCH = "${@['armeb', 'arm'][bb.data.getVar('ARCH_BYTE_SEX', d, 1) == 'le']}"
-
-# TARGET_PACKAGE_ARCH [not used]
-#    The correct setting for the generated packages.  This corresponds to the
-#    -march flag passed to the compiler because that limits the architectures
-#    on which the generated code will run.
-BYTE_SEX_CHAR = "${@['b', 'l'][bb.data.getVar('ARCH_BYTE_SEX', d, 1) == 'le']}"
-TARGET_PACKAGE_ARCH_BASE = "${@['armv5te', 'thumbv5t'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
-TARGET_PACKAGE_ARCH = "${TARGET_PACKAGE_ARCH_BASE}${BYTE_SEX_CHAR}"
-
-# MACHINE_ARCH
-#    The correct setting for packages which are specific to the machine, this
-#    defaults to ${MACHINE} in bitbake.conf, however it is set to ixp4xx here
-#    because everything built here is no more specific than that.
-MACHINE_ARCH = "ixp4xx${ARCH_BYTE_SEX}"
-
-# PACKAGE_EXTRA_ARCHS
-#    The full list of package architectures which should run on the system.
-#    This takes into account both the board level issues and the INPUTS set
-#    by the distro.  The arm list is derived from the architecture settings
-#    known to gcc, the thumb list is then derived from that (only the 't'
-#    architectures of course).
-#[not used]: TARGET_ARCH is handled below because it is also currently
-# used for thumb packages.
-#ARM_ARCHITECTURES = "${TARGET_ARCH} armv2${BYTE_SEX_CHAR} armv2a${BYTE_SEX_CHAR} armv3${BYTE_SEX_CHAR} armv3m${BYTE_SEX_CHAR} armv4${BYTE_SEX_CHAR} armv4t${BYTE_SEX_CHAR} armv5${BYTE_SEX_CHAR} armv5t${BYTE_SEX_CHAR} armv5e${BYTE_SEX_CHAR} armv5te${BYTE_SEX_CHAR} xscale${BYTE_SEX_CHAR}"
-ARM_ARCHITECTURES = "armv2${BYTE_SEX_CHAR} armv2a${BYTE_SEX_CHAR} armv3${BYTE_SEX_CHAR} armv3m${BYTE_SEX_CHAR} armv4${BYTE_SEX_CHAR} armv4t${BYTE_SEX_CHAR} armv5${BYTE_SEX_CHAR} armv5t${BYTE_SEX_CHAR} armv5e${BYTE_SEX_CHAR} armv5te${BYTE_SEX_CHAR} xscale${BYTE_SEX_CHAR}"
-THUMB_ARCHITECTURES = "thumbe${BYTE_SEX_CHAR} thumbv4t${BYTE_SEX_CHAR} thumbv5t${BYTE_SEX_CHAR}"
-
-#    NOTE: this list contains just the things which rootfs_ipk.bbclass does
-#    not add, rootfs_ipk.bbclass evaluates:
-#
-#        ipkgarchs="all any noarch ${TARGET_ARCH} ${PACKAGE_EXTRA_ARCHS} ${MACHINE}"
-#
-#    This is a priority ordered list - most desireable architecture at the end,
-#    so put <ARM_INSTRUCTION_SET>_ARCHITECTURES at the end and, if
-#    THUMB_INTERWORK precede this with the other architectures.
-PACKAGE_EXTRA_ARCHS = "ixp4xx ${MACHINE} \
-               ${@(lambda arch_thumb, arch_arm, is_arm, interwork: \
-               (interwork and (is_arm and arch_thumb or arch_arm) + ' ' or '') \
-               + '${TARGET_ARCH} ' + (is_arm and arch_arm or arch_thumb)) \
-              (bb.data.getVar('THUMB_ARCHITECTURES', d, 1), \
-               bb.data.getVar('ARM_ARCHITECTURES', d, 1), \
-               bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) != 'thumb', \
-               bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes')} \
-               ${MACHINE_ARCH} ${MACHINE}${ARCH_BYTE_SEX}"
-
-# IPKG_ARCH_LIST [not used]
-#    This is used to override the ipkgarchs settings in rootfs_ipk.bbclass, allowing
-#    the removal of the raw "${MACHINE}" from the end of the list.  ${MACHINE} and
-#    ixp4xx are included at the start (lower priority) as the non-byte-sex specific
-#    versions.
-IPKG_ARCH_LIST = "all any noarch ixp4xx ${MACHINE} ${PACKAGE_EXTRA_ARCHS}"
-
-#-------------------------------------------------------------------------------
-# Board defaults
-#-------------------------------------------------------------------------------
-# These values are board specific but they seem to be common to a large number
-# of boards so are reasonable defaults.
-SERIAL_CONSOLE = "115200 ttyS0"
-KERNEL_CONSOLE = "ttyS0,115200n8"
-USE_VT = "0"
index f955215..3397d17 100644 (file)
@@ -2,12 +2,4 @@
 #@NAME: Generic IXP4XX kernel
 #@DESCRIPTION: Machine configuration for a generic ixp4xx board
 
-MACHINE_FEATURES = "kernel26 usbhost ext2"
-
 require conf/machine/include/ixp4xx.conf
-
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te ixp4xx${ARCH_BYTE_SEX}"
-
-EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 --faketime -n"
-
-PREFERRED_PROVIDER_virtual/kernel ?= "ixp4xx-kernel"
index f303454..cd02d7c 100644 (file)
@@ -1,15 +1,15 @@
 #@TYPE: Machine
 #@NAME: Generic IXP4XX kernel
-#@DESCRIPTION: Machine configuration for a generic ixp4xx board in bigendian mode
+#@DESCRIPTION: Machine configuration for a generic ixp4xx board in big-endian mode
 
-MACHINE_FEATURES = "kernel26 usbhost ext2"
+IXP4XX_MACHINE_ENDIAN = "be"
 
-ARCH_BYTE_SEX = "be"
 require conf/machine/include/ixp4xx.conf
 
-PACKAGE_EXTRA_ARCHS = "armv4eb armv4teb armv5eb armv5teb ixp4xxeb"
+TARGET_ARCH = "armeb"
 
-EXTRA_IMAGECMD_jffs2 = "--pad --big-endian --eraseblock=0x20000 --faketime -n"
+MACHINE_ARCH = "ixp4xxbe"
 
-PREFERRED_PROVIDER_virtual/kernel ?= "ixp4xx-kernel"
+PACKAGE_EXTRA_ARCHS = "armv4b armv4tb armv5eb armv5teb"
 
+EXTRA_IMAGECMD_jffs2 += "--big-endian"
index d3fcd2b..e40b98b 100644 (file)
@@ -2,16 +2,14 @@
 #@NAME: Generic IXP4XX kernel
 #@DESCRIPTION: Machine configuration for a generic ixp4xx board in little-endian mode
 
-MACHINE_FEATURES = "kernel26 usbhost ext2"
+IXP4XX_MACHINE_ENDIAN = "le"
 
-ARCH_BYTE_SEX = "le"
 require conf/machine/include/ixp4xx.conf
-require conf/machine/include/tune-xscale.conf
 
+TARGET_ARCH = "arm"
 
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te ixp4xxle"
+MACHINE_ARCH = "ixp4xxle"
 
-EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 --faketime -n"
-
-PREFERRED_PROVIDER_virtual/kernel ?= "ixp4xx-kernel"
+PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te"
 
+EXTRA_IMAGECMD_jffs2 += " --little-endian"
index 304018b..fa42771 100644 (file)
@@ -2,4 +2,23 @@
 #@NAME: Linksys NSLU2
 #@DESCRIPTION: Machine configuration for the Linksys NSLU2 product
 
+# Note that IXP4XX_MACHINE_ENDIAN gets set by the DISTRO for the "nslu2" machine.
+# (Yes, this was a mistake, but it's legacy and can't be easily changed now.)
+# The "nslu2" machine is deprecated - use "nslu2le" or "nslu2be" instead.
+
 require conf/machine/include/ixp4xx.conf
+
+# This should eventually be removed (when we move from nslu2 to nslu2le/nslu2be).
+TARGET_ARCH = "${@['armeb', 'arm'][bb.data.getVar('IXP4XX_MACHINE_ENDIAN', d, 1) == 'le']}"
+
+# This should eventually be removed (when we move from nslu2 to nslu2le/nslu2be).
+MACHINE_ARCH = "${@['ixp4xxbe', 'ixp4xxle'][bb.data.getVar('IXP4XX_MACHINE_ENDIAN', d, 1) == 'le']}"
+
+# This should eventually be removed (when we move from nslu2 to nslu2le/nslu2be).
+PACKAGE_ARCH = "${@['armeb', 'arm'][bb.data.getVar('IXP4XX_MACHINE_ENDIAN', d, 1) == 'le']}"
+
+# This should eventually be removed (when we move from nslu2 to nslu2le/nslu2be).
+PACKAGE_EXTRA_ARCHS = "${@['ixp4xxbe nslu2be', 'ixp4xxle nslu2le'][bb.data.getVar('IXP4XX_MACHINE_ENDIAN', d, 1) == 'le']}"
+
+# This should eventually be removed (when we move from nslu2 to nslu2le/nslu2be).
+EXTRA_IMAGECMD_jffs2 += "${@['--big-endian', '--little-endian'][bb.data.getVar('IXP4XX_MACHINE_ENDIAN', d, 1) == 'le']}"
diff --git a/conf/machine/nslu2be.conf b/conf/machine/nslu2be.conf
new file mode 100644 (file)
index 0000000..7cbdd80
--- /dev/null
@@ -0,0 +1,9 @@
+#@TYPE: Machine
+#@NAME: Linksys NSLU2 (big-endian)
+#@DESCRIPTION: Machine configuration for an NSLU2 in big-endian mode
+
+require conf/machine/ixp4xxbe.conf
+
+MACHINE_ARCH = "ixp4xxbe"
+
+PACKAGE_EXTRA_ARCHS += "ixp4xxbe"
diff --git a/conf/machine/nslu2le.conf b/conf/machine/nslu2le.conf
new file mode 100644 (file)
index 0000000..cc8e8b8
--- /dev/null
@@ -0,0 +1,9 @@
+#@TYPE: Machine
+#@NAME: Linksys NSLU2 (little-endian)
+#@DESCRIPTION: Machine configuration for an NSLU2 in little-endian mode
+
+require conf/machine/ixp4xxle.conf
+
+MACHINE_ARCH = "ixp4xxle"
+
+PACKAGE_EXTRA_ARCHS += "ixp4xxle"
index cf7d580..a0be935 100644 (file)
@@ -123,7 +123,7 @@ slugos_pack_image() {
                        ${STAGING_LIBDIR}/nslu2-binaries/SysConf \
                        ${DEPLOY_DIR_IMAGE}/slug/
        install -m 0644 ${STAGING_LOADER_DIR}/apex.bin ${DEPLOY_DIR_IMAGE}/slug/
-       install -m 0644 ${DEPLOY_DIR_IMAGE}/zImage-nslu2${ARCH_BYTE_SEX} \
+       install -m 0644 ${DEPLOY_DIR_IMAGE}/zImage-nslu2${IXP4XX_MACHINE_ENDIAN} \
                ${DEPLOY_DIR_IMAGE}/slug/vmlinuz
        install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
                ${DEPLOY_DIR_IMAGE}/slug/flashdisk.jffs2
@@ -137,7 +137,7 @@ slugos_pack_image() {
 
        # Create an image for the DSM-G600 as well
        install -d ${DEPLOY_DIR_IMAGE}/firmupgrade
-       install -m 0755 ${DEPLOY_DIR_IMAGE}/zImage-dsmg600${ARCH_BYTE_SEX} \
+       install -m 0755 ${DEPLOY_DIR_IMAGE}/zImage-dsmg600${IXP4XX_MACHINE_ENDIAN} \
                ${DEPLOY_DIR_IMAGE}/firmupgrade/ip-ramdisk
        install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
                ${DEPLOY_DIR_IMAGE}/firmupgrade/rootfs.gz
@@ -154,7 +154,7 @@ slugos_pack_image() {
 
        # Create an image for the NAS 100d as well
        install -d ${DEPLOY_DIR_IMAGE}/firmupgrade
-       install -m 0755 ${DEPLOY_DIR_IMAGE}/zImage-nas100d${ARCH_BYTE_SEX} \
+       install -m 0755 ${DEPLOY_DIR_IMAGE}/zImage-nas100d${IXP4XX_MACHINE_ENDIAN} \
                ${DEPLOY_DIR_IMAGE}/firmupgrade/ip-ramdisk
        install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
                ${DEPLOY_DIR_IMAGE}/firmupgrade/rootfs.gz
index be0d1f3..ad20f51 100644 (file)
@@ -18,6 +18,7 @@ RDEPENDS = "ixp4xx-csr"
 S = "${WORKDIR}"
 
 COMPATIBLE_HOST = "^arm.*-linux.*"
+COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
 
 PROVIDES = "virtual/ixp-eth"
 RPROVIDES = "ixp-eth"
@@ -27,7 +28,7 @@ inherit module
 # This is a somewhat arbitrary choice:
 OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${IXP4XX_MACHINE_ENDIAN}"
 
 EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \
                'LD=${KERNEL_LD}' \
index 17a48e9..66e7659 100644 (file)
@@ -29,6 +29,7 @@ SRC_URI += "file://modprobe.conf"
 S = "${WORKDIR}"
 
 COMPATIBLE_HOST = "^arm.*-linux.*"
+COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
 
 PROVIDES = "virtual/ixp-eth"
 RPROVIDES = "ixp-eth"
@@ -38,7 +39,7 @@ inherit module
 # This is a somewhat arbitrary choice:
 OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${IXP4XX_MACHINE_ENDIAN}"
 IX_ENSURE = ""
 #IX_ENSURE = "-DIX_OSAL_ENSURE_ON=1"
 # The following controls the name of the ethernet devices which get
index ae2cdf2..a708bd9 100644 (file)
@@ -28,6 +28,7 @@ SRC_URI += "file://modprobe.conf"
 S = "${WORKDIR}"
 
 COMPATIBLE_HOST = "^arm.*-linux.*"
+COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
 
 PROVIDES = "virtual/ixp-eth"
 RPROVIDES = "ixp-eth"
@@ -37,7 +38,7 @@ inherit module
 # This is a somewhat arbitrary choice:
 OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${IXP4XX_MACHINE_ENDIAN}"
 IX_ENSURE = ""
 #IX_ENSURE = "-DIX_OSAL_ENSURE_ON=1"
 # The following controls the name of the ethernet devices which get
index 9983a84..03fb7fb 100644 (file)
@@ -33,7 +33,7 @@ COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
 
 inherit module
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${IXP4XX_MACHINE_ENDIAN}"
 
 EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \
                'LD=${KERNEL_LD}' \
index 96754b6..8a43d49 100644 (file)
@@ -49,7 +49,7 @@ do_pre_patch () {
 
 addtask pre_patch before do_patch
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${IXP4XX_MACHINE_ENDIAN}"
 IX_ENSURE = ""
 #IX_ENSURE = "IX_OSAL_ENSURE_ON=1"
 
index 077515a..8b1bce6 100644 (file)
@@ -37,7 +37,7 @@ COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
 
 inherit module
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${IXP4XX_MACHINE_ENDIAN}"
 IX_ENSURE = ""
 #IX_ENSURE = "IX_OSAL_ENSURE_ON=1"
 
index 9db1e7a..fefb988 100644 (file)
@@ -38,7 +38,7 @@ COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
 
 inherit module
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${IXP4XX_MACHINE_ENDIAN}"
 
 OSAL_PATH = "lib/ixp425/linux/${IX_TARGET}"
 # This is a somewhat arbitrary choice:
index 072db8f..6d4c9d8 100644 (file)
@@ -53,7 +53,7 @@ do_pre_patch () {
 
 addtask pre_patch before do_patch
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${IXP4XX_MACHINE_ENDIAN}"
 IX_ENSURE = ""
 #IX_ENSURE = "IX_OSAL_ENSURE_ON=1"
 
index 440e22e..9be5072 100644 (file)
@@ -46,7 +46,7 @@ COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
 
 inherit module
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${IXP4XX_MACHINE_ENDIAN}"
 IX_ENSURE = ""
 #IX_ENSURE = "IX_OSAL_ENSURE_ON=1"
 
index 099bfca..0d869bb 100644 (file)
@@ -186,7 +186,7 @@ EXTRA_OEMAKE += "MAKEFLAGS='--no-print-directory'"
 do_configure_prepend() {
        rm -f ${S}/.config
        echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >>'${S}/.config'
-       if test '${ARCH_BYTE_SEX}' = be
+       if test '${IXP4XX_MACHINE_ENDIAN}' = be
        then
                echo 'CONFIG_CPU_BIG_ENDIAN=y' >>'${S}/.config'
        fi
@@ -238,7 +238,7 @@ do_configure_prepend() {
 # The generic package only includes the generic image, the other
 # packages are made below (they are kernel-image packages but
 # with a different ARCH).
-FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}-${IXP4XX_SUFFIX}-${KERNEL_VERSION}"
+FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}-${MACHINE_ARCH}-${KERNEL_VERSION}"
 
 # MACHINE DEFINITIONS: one block for each machine
 
@@ -246,70 +246,70 @@ FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}-${IXP4XX_SUFFIX}-${KERNEL_VERSIO
 nslu2_MACHID = "597"
 PACKAGES += "kernel-image-nslu2"
 PKG_kernel-image-nslu2 = "kernel-image-${KERNEL_VERSION}"
-PACKAGE_ARCH_kernel-image-nslu2 = "nslu2${ARCH_BYTE_SEX}"
+PACKAGE_ARCH_kernel-image-nslu2 = "nslu2${IXP4XX_MACHINE_ENDIAN}"
 DESCRIPTION_kernel-image-nslu2 = "Linux kernel for the LinkSys NSLU2"
-FILES_kernel-image-nslu2 = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nslu2${ARCH_BYTE_SEX}-${KERNEL_VERSION}"
+FILES_kernel-image-nslu2 = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nslu2${IXP4XX_MACHINE_ENDIAN}-${KERNEL_VERSION}"
 pkg_postinst_kernel-image-nslu2 () {
-       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nslu2${ARCH_BYTE_SEX}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
+       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nslu2${IXP4XX_MACHINE_ENDIAN}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
 }
 pkg_postrm_kernel-image-nslu2 () {
-       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nslu2${ARCH_BYTE_SEX}-${KERNEL_VERSION} || true
+       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nslu2${IXP4XX_MACHINE_ENDIAN}-${KERNEL_VERSION} || true
 }
 
 # The correct settings for Loft:
 loft_MACHID = "849"
 PACKAGES += "kernel-image-loft"
 PKG_kernel-image-loft = "kernel-image-${KERNEL_VERSION}"
-PACKAGE_ARCH_kernel-image-loft = "loft${ARCH_BYTE_SEX}"
+PACKAGE_ARCH_kernel-image-loft = "loft${IXP4XX_MACHINE_ENDIAN}"
 DESCRIPTION_kernel-image-loft = "Linux kernel for the Giant Shoulder Inc. Loft board"
-FILES_kernel-image-loft = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-loft${ARCH_BYTE_SEX}-${KERNEL_VERSION}"
+FILES_kernel-image-loft = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-loft${IXP4XX_MACHINE_ENDIAN}-${KERNEL_VERSION}"
 pkg_postinst_kernel-image-loft () {
-       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-loft${ARCH_BYTE_SEX}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
+       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-loft${IXP4XX_MACHINE_ENDIAN}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
 }
 pkg_postrm_kernel-image-loft () {
-       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-loft${ARCH_BYTE_SEX}-${KERNEL_VERSION} || true
+       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-loft${IXP4XX_MACHINE_ENDIAN}-${KERNEL_VERSION} || true
 }
 
 # The correct settings for the NAS100D board:
 nas100d_MACHID = "865"
 PACKAGES += "kernel-image-nas100d"
 PKG_kernel-image-nas100d = "kernel-image-${KERNEL_VERSION}"
-PACKAGE_ARCH_kernel-image-nas100d = "nas100d${ARCH_BYTE_SEX}"
+PACKAGE_ARCH_kernel-image-nas100d = "nas100d${IXP4XX_MACHINE_ENDIAN}"
 DESCRIPTION_kernel-image-nas100d = "Linux kernel for the IOMega NAS100D"
-FILES_kernel-image-nas100d = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nas100d${ARCH_BYTE_SEX}-${KERNEL_VERSION}"
+FILES_kernel-image-nas100d = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nas100d${IXP4XX_MACHINE_ENDIAN}-${KERNEL_VERSION}"
 pkg_postinst_kernel-image-nas100d () {
-       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nas100d${ARCH_BYTE_SEX}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
+       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nas100d${IXP4XX_MACHINE_ENDIAN}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
 }
 pkg_postrm_kernel-image-nas100d () {
-       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nas100d${ARCH_BYTE_SEX}-${KERNEL_VERSION} || true
+       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nas100d${IXP4XX_MACHINE_ENDIAN}-${KERNEL_VERSION} || true
 }
 
 # The correct settings for the DSMG600 board:
 dsmg600_MACHID = "964"
 PACKAGES += "kernel-image-dsmg600"
 PKG_kernel-image-dsmg600 = "kernel-image-${KERNEL_VERSION}"
-PACKAGE_ARCH_kernel-image-dsmg600 = "dsmg600${ARCH_BYTE_SEX}"
+PACKAGE_ARCH_kernel-image-dsmg600 = "dsmg600${IXP4XX_MACHINE_ENDIAN}"
 DESCRIPTION_kernel-image-dsmg600 = "Linux kernel for the D-Link DSM-G600"
-FILES_kernel-image-dsmg600 = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-dsmg600${ARCH_BYTE_SEX}-${KERNEL_VERSION}"
+FILES_kernel-image-dsmg600 = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-dsmg600${IXP4XX_MACHINE_ENDIAN}-${KERNEL_VERSION}"
 pkg_postinst_kernel-image-dsmg600 () {
-       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-dsmg600${ARCH_BYTE_SEX}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
+       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-dsmg600${IXP4XX_MACHINE_ENDIAN}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
 }
 pkg_postrm_kernel-image-dsmg600 () {
-       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-dsmg600${ARCH_BYTE_SEX}-${KERNEL_VERSION} || true
+       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-dsmg600${IXP4XX_MACHINE_ENDIAN}-${KERNEL_VERSION} || true
 }
 
 # The correct settings for the FSG-3 board:
 fsg3_MACHID = "1091"
 PACKAGES += "kernel-image-fsg3"
 PKG_kernel-image-fsg3 = "kernel-image-${KERNEL_VERSION}"
-PACKAGE_ARCH_kernel-image-fsg3 = "fsg3${ARCH_BYTE_SEX}"
+PACKAGE_ARCH_kernel-image-fsg3 = "fsg3${IXP4XX_MACHINE_ENDIAN}"
 DESCRIPTION_kernel-image-fsg3 = "Linux kernel for the Freecom FSG-3"
-FILES_kernel-image-fsg3 = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-fsg3${ARCH_BYTE_SEX}-${KERNEL_VERSION}"
+FILES_kernel-image-fsg3 = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-fsg3${IXP4XX_MACHINE_ENDIAN}-${KERNEL_VERSION}"
 pkg_postinst_kernel-image-fsg3 () {
-       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-fsg3${ARCH_BYTE_SEX}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
+       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-fsg3${IXP4XX_MACHINE_ENDIAN}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
 }
 pkg_postrm_kernel-image-fsg3 () {
-       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-fsg3${ARCH_BYTE_SEX}-${KERNEL_VERSION} || true
+       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-fsg3${IXP4XX_MACHINE_ENDIAN}-${KERNEL_VERSION} || true
 }
 
 #FIXUP: the correct instructions to copy the kernel prepended with the le fixup
@@ -353,14 +353,14 @@ do_install_append() {
        # Overwrite the unshimmed generic image with a shimmed one (but without
        # any command line or machine id override).
        rm -f '${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERISON}'
-       install_image '${IXP4XX_SUFFIX}'
+       install_image '${MACHINE_ARCH}'
 
        # Add the machine specific images, with appropriate suffixes
-       install_image 'nslu2${ARCH_BYTE_SEX}' '${nslu2_MACHID}'
-       install_image 'loft${ARCH_BYTE_SEX}' '${loft_MACHID}'
-       install_image 'nas100d${ARCH_BYTE_SEX}' '${nas100d_MACHID}'
-       install_image 'dsmg600${ARCH_BYTE_SEX}' '${dsmg600_MACHID}'
-       install_image 'fsg3${ARCH_BYTE_SEX}' '${fsg3_MACHID}'
+       install_image 'nslu2${IXP4XX_MACHINE_ENDIAN}' '${nslu2_MACHID}'
+       install_image 'loft${IXP4XX_MACHINE_ENDIAN}' '${loft_MACHID}'
+       install_image 'nas100d${IXP4XX_MACHINE_ENDIAN}' '${nas100d_MACHID}'
+       install_image 'dsmg600${IXP4XX_MACHINE_ENDIAN}' '${dsmg600_MACHID}'
+       install_image 'fsg3${IXP4XX_MACHINE_ENDIAN}' '${fsg3_MACHID}'
 }
 
 do_deploy[dirs] = "${S}"
@@ -371,25 +371,25 @@ deploy_image() {
 
 do_deploy() {
         install -d ${DEPLOY_DIR_IMAGE}
-       deploy_image '${IXP4XX_SUFFIX}'
+       deploy_image '${MACHINE_ARCH}'
 
        # And the machine specific images
-       deploy_image 'nslu2${ARCH_BYTE_SEX}' '${nslu2_MACHID}'
-       deploy_image 'loft${ARCH_BYTE_SEX}' '${loft_MACHID}'
-       deploy_image 'nas100d${ARCH_BYTE_SEX}' '${nas100d_MACHID}'
-       deploy_image 'dsmg600${ARCH_BYTE_SEX}' '${dsmg600_MACHID}'
-       deploy_image 'fsg3${ARCH_BYTE_SEX}' '${fsg3_MACHID}'
+       deploy_image 'nslu2${IXP4XX_MACHINE_ENDIAN}' '${nslu2_MACHID}'
+       deploy_image 'loft${IXP4XX_MACHINE_ENDIAN}' '${loft_MACHID}'
+       deploy_image 'nas100d${IXP4XX_MACHINE_ENDIAN}' '${nas100d_MACHID}'
+       deploy_image 'dsmg600${IXP4XX_MACHINE_ENDIAN}' '${dsmg600_MACHID}'
+       deploy_image 'fsg3${IXP4XX_MACHINE_ENDIAN}' '${fsg3_MACHID}'
 }
 
 addtask deploy before do_build after do_compile
 
 python () {
-    # check for IXP4XX_SUFFIX - if not set then we don't know what to build,
+    # check for MACHINE_ARCH - if not set then we don't know what to build,
     # also sanity check the SLUGOS_IMAGESEX
     sex = bb.data.getVar("SLUGOS_IMAGESEX", d, 1)
     if sex != 'little-endian' and sex != 'big-endian':
         raise bb.parse.SkipPackage("slugos kernels require SLUGOS_IMAGESEX")
-    suffix = bb.data.getVar("IXP4XX_SUFFIX", d, 1)
+    suffix = bb.data.getVar("MACHINE_ARCH", d, 1)
     if suffix == '':
-        raise bb.parse.SkipPackage("slugos kernels require IXP4XX_SUFFIX")
+        raise bb.parse.SkipPackage("slugos kernels require MACHINE_ARCH")
 }
index 129d5e4..a622c50 100644 (file)
@@ -150,7 +150,7 @@ N2K_PATCHES ?= ""
 # Image suffix - actually set in conf/machine/nslu2.conf as it is also
 # used by anything which needs to know the name of the generated image.
 # Should be overridden in the distro if patches or defconfig are changed.
-N2K_SUFFIX ?= "nslu2${ARCH_BYTE_SEX}"
+N2K_SUFFIX ?= "nslu2${IXP4XX_MACHINE_ENDIAN}"
 
 SRC_URI  = "${N2K_SRCURI}"
 SRC_URI += "${N2K_PATCHES}"
@@ -186,7 +186,7 @@ addtask unpacklocal before do_patch after do_unpack
 do_configure_prepend() {
        rm -f ${S}/.config
        echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >>'${S}/.config'
-       if test '${ARCH_BYTE_SEX}' = be
+       if test '${IXP4XX_MACHINE_ENDIAN}' = be
        then
                echo 'CONFIG_CPU_BIG_ENDIAN=y' >>'${S}/.config'
        fi