diff options
author | Rod Whitby <rod@whitby.id.au> | 2007-01-23 02:21:17 +0000 |
---|---|---|
committer | Rod Whitby <rod@whitby.id.au> | 2007-01-23 02:21:17 +0000 |
commit | 2d96dd3d8722c5260740717f70c442b4cb445aac (patch) | |
tree | 5e6cb2b464d9b3fdbad03677918b781d5b4018df /conf/machine/include | |
parent | 79ebe7b06aa1dd508d80ef4bb040a37d6bc314a9 (diff) |
ixp4xx (and related ixp4xx-specific files): Change all usage of ARCH_BYTE_SEX to IXP4XX_MACHINE_ENDIAN (and ensure COMPATIBLE_MACHINE is in effect whereever it is used). Add the nslu2le and nslu2be machines. Change include/ixp4xx.conf to use tune-xscale and tune-thumb. Remove slugos-specific variables that had global OE equivalents. Deprecate ixp4xx.conf and nslu2.conf in favour of endian-specific replacements.
Diffstat (limited to 'conf/machine/include')
-rw-r--r-- | conf/machine/include/ixp4xx.conf | 114 |
1 files changed, 22 insertions, 92 deletions
diff --git a/conf/machine/include/ixp4xx.conf b/conf/machine/include/ixp4xx.conf index 0aba653201..42ca723d90 100644 --- a/conf/machine/include/ixp4xx.conf +++ b/conf/machine/include/ixp4xx.conf @@ -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 #------------------------------------------------------------------------------- @@ -15,12 +21,13 @@ # <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" |