summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRod Whitby <rod@whitby.id.au>2007-02-12 05:47:24 +0000
committerRod Whitby <rod@whitby.id.au>2007-02-12 05:47:24 +0000
commit8ef64bc60f7376622f1ae0883afee6808d569ce5 (patch)
treea62275b033c799f6f922224ec01f8e5209a514c8
parentcf6a5a7875194d38b557b95dc824c7d1654d5d8d (diff)
arm-kernel-shim: Now does the endianness switch prepend code as well. Tested on slugosbe and slugosle.
-rw-r--r--packages/arm-kernel-shim/arm-kernel-shim_1.3.bb34
-rw-r--r--packages/arm-kernel-shim/files/config-dsmg600.h5
-rw-r--r--packages/arm-kernel-shim/files/config-fsg3.h5
-rw-r--r--packages/arm-kernel-shim/files/config-nas100d.h7
-rw-r--r--packages/arm-kernel-shim/files/config-nslu2.h7
5 files changed, 51 insertions, 7 deletions
diff --git a/packages/arm-kernel-shim/arm-kernel-shim_1.3.bb b/packages/arm-kernel-shim/arm-kernel-shim_1.3.bb
index ac9df9579b..a4f5f8f7e9 100644
--- a/packages/arm-kernel-shim/arm-kernel-shim_1.3.bb
+++ b/packages/arm-kernel-shim/arm-kernel-shim_1.3.bb
@@ -3,7 +3,7 @@ SECTION = ""
PRIORITY = "optional"
HOMEPAGE = "http://wiki.buici.com/twiki/bin/view/Main/ApexBootloader"
LICENSE = "GPL"
-PR = "r1"
+PR = "r2"
COMPATIBLE_MACHINE = "(ixp4xx|nslu2)"
@@ -20,22 +20,46 @@ EXTRA_OEMAKE_append = " CROSS_COMPILE=${CROSS_DIR}/bin/${HOST_PREFIX}"
oe_runmake() {
mv ${S}/config.h ${S}/config.h.orig
# NSLU2
- cp ${WORKDIR}/config-nslu2.h ${S}/config.h
+ if [ ${SITEINFO_ENDIANESS} == "be" ] ; then
+ sed -e 's|//#define FORCE_BIGENDIAN|#define FORCE_BIGENDIAN|' \
+ ${WORKDIR}/config-nslu2.h > ${S}/config.h
+ else
+ sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \
+ ${WORKDIR}/config-nslu2.h > ${S}/config.h
+ fi
rm -f ${S}/main.o
oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nslu2
make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nslu2 || die "oe_runmake failed"
# NAS100d
- cp ${WORKDIR}/config-nas100d.h ${S}/config.h
+ if [ ${SITEINFO_ENDIANESS} == "be" ] ; then
+ sed -e 's|//#define FORCE_BIGENDIAN|#define FORCE_BIGENDIAN|' \
+ ${WORKDIR}/config-nas100d.h > ${S}/config.h
+ else
+ sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \
+ ${WORKDIR}/config-nas100d.h > ${S}/config.h
+ fi
rm -f ${S}/main.o
oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nas100d
make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nas100d || die "oe_runmake failed"
# DSMG-600
- cp ${WORKDIR}/config-dsmg600.h ${S}/config.h
+ if [ ${SITEINFO_ENDIANESS} == "be" ] ; then
+ sed -e 's|//#define FORCE_BIGENDIAN|#define FORCE_BIGENDIAN|' \
+ ${WORKDIR}/config-dsmg600.h > ${S}/config.h
+ else
+ sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \
+ ${WORKDIR}/config-dsmg600.h > ${S}/config.h
+ fi
rm -f ${S}/main.o
oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-dsmg600
make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-dsmg600 || die "oe_runmake failed"
# FSG-3
- cp ${WORKDIR}/config-fsg3.h ${S}/config.h
+ if [ ${SITEINFO_ENDIANESS} == "be" ] ; then
+ sed -e 's|//#define FORCE_BIGENDIAN|#define FORCE_BIGENDIAN|' \
+ ${WORKDIR}/config-fsg3.h > ${S}/config.h
+ else
+ sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \
+ ${WORKDIR}/config-fsg3.h > ${S}/config.h
+ fi
rm -f ${S}/main.o
oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-fsg3
make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-fsg3 || die "oe_runmake failed"
diff --git a/packages/arm-kernel-shim/files/config-dsmg600.h b/packages/arm-kernel-shim/files/config-dsmg600.h
index cd331159e0..56b4035408 100644
--- a/packages/arm-kernel-shim/files/config-dsmg600.h
+++ b/packages/arm-kernel-shim/files/config-dsmg600.h
@@ -27,4 +27,9 @@
#define MACH_TYPE 964
+/* Uncomment one of these if you need to switch the CPU into a
+ specific mode. */
+//#define FORCE_LITTLEENDIAN
+//#define FORCE_BIGENDIAN
+
#endif /* __CONFIG_H__ */
diff --git a/packages/arm-kernel-shim/files/config-fsg3.h b/packages/arm-kernel-shim/files/config-fsg3.h
index e2cdf8abd4..08684d708e 100644
--- a/packages/arm-kernel-shim/files/config-fsg3.h
+++ b/packages/arm-kernel-shim/files/config-fsg3.h
@@ -27,4 +27,9 @@
#define MACH_TYPE 1091
+/* Uncomment one of these if you need to switch the CPU into a
+ specific mode. */
+//#define FORCE_LITTLEENDIAN
+//#define FORCE_BIGENDIAN
+
#endif /* __CONFIG_H__ */
diff --git a/packages/arm-kernel-shim/files/config-nas100d.h b/packages/arm-kernel-shim/files/config-nas100d.h
index 4389644cf0..846161d016 100644
--- a/packages/arm-kernel-shim/files/config-nas100d.h
+++ b/packages/arm-kernel-shim/files/config-nas100d.h
@@ -23,8 +23,13 @@
//#define RAM_BANK1_LENGTH 0x10000000
#define COMMANDLINE\
- "init=/linuxrc root=/dev/mtdblock2 rootfstype=jffs rw noirqdebug console=ttyS0,115200n8"
+ "init=/linuxrc root=/dev/mtdblock2 rootfstype=jffs2 rw noirqdebug console=ttyS0,115200n8"
#define MACH_TYPE 865
+/* Uncomment one of these if you need to switch the CPU into a
+ specific mode. */
+//#define FORCE_LITTLEENDIAN
+//#define FORCE_BIGENDIAN
+
#endif /* __CONFIG_H__ */
diff --git a/packages/arm-kernel-shim/files/config-nslu2.h b/packages/arm-kernel-shim/files/config-nslu2.h
index 2262b57668..d641523841 100644
--- a/packages/arm-kernel-shim/files/config-nslu2.h
+++ b/packages/arm-kernel-shim/files/config-nslu2.h
@@ -23,8 +23,13 @@
//#define RAM_BANK1_LENGTH 0x10000000
#define COMMANDLINE\
- "init=/linuxrc root=/dev/mtdblock4 rootfstype=jffs rw noirqdebug console=ttyS0,115200n8"
+ "init=/linuxrc root=/dev/mtdblock4 rootfstype=jffs2 rw noirqdebug console=ttyS0,115200n8"
#define MACH_TYPE 597
+/* Uncomment one of these if you need to switch the CPU into a
+ specific mode. */
+//#define FORCE_LITTLEENDIAN
+//#define FORCE_BIGENDIAN
+
#endif /* __CONFIG_H__ */