summaryrefslogtreecommitdiff
path: root/conf/machine
diff options
context:
space:
mode:
Diffstat (limited to 'conf/machine')
-rw-r--r--conf/machine/include/ixp4xx.conf42
-rw-r--r--conf/machine/ixp4xx.conf5
-rw-r--r--conf/machine/nas100d.conf7
-rw-r--r--conf/machine/nslu2.conf7
4 files changed, 42 insertions, 19 deletions
diff --git a/conf/machine/include/ixp4xx.conf b/conf/machine/include/ixp4xx.conf
index 3c5077056e..19a2ee0141 100644
--- a/conf/machine/include/ixp4xx.conf
+++ b/conf/machine/include/ixp4xx.conf
@@ -46,7 +46,7 @@ DISTRO_BASE = ""
IXP4XX_SUFFIX = "${MACHINE_ARCH}"
# <string>
-# Kernel suffix - 'ixp4xxb' or 'ixp4xxl' for a truely generic image, controls
+# 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.
@@ -97,19 +97,19 @@ FULL_OPTIMIZATION = "-Os -fomit-frame-pointer -frename-registers \
# 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']}"
-# PACKAGE_ARCH
+# 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']}"
-PACKAGE_ARCH_BASE = "${@['armv5te', 'thumbv5t'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
-PACKAGE_ARCH = "${PACKAGE_ARCH_BASE}${BYTE_SEX_CHAR}"
+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${BYTE_SEX_CHAR}"
+MACHINE_ARCH = "ixp4xx${ARCH_BYTE_SEX}"
# IPKG_ARCHS
# The full list of package architectures which should run on the system.
@@ -117,7 +117,10 @@ MACHINE_ARCH = "ixp4xx${BYTE_SEX_CHAR}"
# 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).
-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}"
+#[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
@@ -128,14 +131,22 @@ THUMB_ARCHITECTURES = "thumbe${BYTE_SEX_CHAR} thumbv4t${BYTE_SEX_CHAR} thumbv5t$
# 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.
-IPKG_ARCHS = "${@(lambda arch_thumb, arch_arm, is_arm, interwork: \
+IPKG_ARCHS = "ixp4xx ${MACHINE} \
+ ${@(lambda arch_thumb, arch_arm, is_arm, interwork: \
(interwork and (is_arm and arch_thumb or arch_arm) + ' ' or '') \
- + (is_arm and arch_arm or arch_thumb)) \
+ + '${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}${BYTE_SEX_CHAR}"
+ ${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} ${IPKG_ARCHS}"
#-------------------------------------------------------------------------------
# Package versions
@@ -152,3 +163,16 @@ INHERIT += "nslu2-mirrors"
PREFERRED_VERSION_ipkg ?= "0.99.155"
PREFERRED_VERSION_ipkg-native ?= "0.99.154"
+
+#-------------------------------------------------------------------------------
+# 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"
+
+# Always add the LEFIXUP - if desired this can be removed for a specific board
+# if that board has an LE boot loader and therefore does not require it.
+IXP4XX_LEFIXUP = "1"
diff --git a/conf/machine/ixp4xx.conf b/conf/machine/ixp4xx.conf
new file mode 100644
index 0000000000..c088485fcc
--- /dev/null
+++ b/conf/machine/ixp4xx.conf
@@ -0,0 +1,5 @@
+#@TYPE: Machine
+#@NAME: Generic IXP4XX kernel
+#@DESCRIPTION: Machine configuration for a generic ixp4xx board
+
+include conf/machine/include/ixp4xx.conf
diff --git a/conf/machine/nas100d.conf b/conf/machine/nas100d.conf
index f99b601628..a628841878 100644
--- a/conf/machine/nas100d.conf
+++ b/conf/machine/nas100d.conf
@@ -5,10 +5,7 @@
include conf/machine/include/ixp4xx.conf
# The correct settings for the NAS100D board:
-SERIAL_CONSOLE = "115200 ttyS0"
-KERNEL_CONSOLE = "ttyS0,115200n8"
-USE_VT = "0"
CMDLINE_ROOT = "root=/dev/mtdblock2 rw rootfstype=jffs2 mem=64M@0x00000000 init=/linuxrc"
-IXP4XX_SUFFIX = "${MACHINE}${BYTE_SEX_CHAR}"
+# This following means the kernel will only run on a NAS100D board:
+IXP4XX_SUFFIX = "${MACHINE}${ARCH_BYTE_SEX}"
IXP4XX_MACHID = "865"
-IXP4XX_LEFIXUP = "1"
diff --git a/conf/machine/nslu2.conf b/conf/machine/nslu2.conf
index a20e8b73a9..96b9e37ce0 100644
--- a/conf/machine/nslu2.conf
+++ b/conf/machine/nslu2.conf
@@ -5,10 +5,7 @@
include conf/machine/include/ixp4xx.conf
# The correct settings for the NSLU2 board:
-SERIAL_CONSOLE = "115200 ttyS0"
-KERNEL_CONSOLE = "ttyS0,115200n8"
-USE_VT = "0"
CMDLINE_ROOT = "root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc"
-IXP4XX_SUFFIX = "${MACHINE}${BYTE_SEX_CHAR}"
+IXP4XX_SUFFIX = "${MACHINE}${ARCH_BYTE_SEX}"
+# This following means the kernel will only run on a NSLU2:
IXP4XX_MACHID = "597"
-IXP4XX_LEFIXUP = "1"