arm-kernel-shim: Now does the endianness switch prepend code as well. Tested on...
authorRod Whitby <rod@whitby.id.au>
Mon, 12 Feb 2007 05:47:24 +0000 (05:47 +0000)
committerRod Whitby <rod@whitby.id.au>
Mon, 12 Feb 2007 05:47:24 +0000 (05:47 +0000)
packages/arm-kernel-shim/arm-kernel-shim_1.3.bb
packages/arm-kernel-shim/files/config-dsmg600.h
packages/arm-kernel-shim/files/config-fsg3.h
packages/arm-kernel-shim/files/config-nas100d.h
packages/arm-kernel-shim/files/config-nslu2.h

index ac9df95..a4f5f8f 100644 (file)
@@ -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"
index cd33115..56b4035 100644 (file)
@@ -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__ */
index e2cdf8a..08684d7 100644 (file)
@@ -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__ */
index 4389644..846161d 100644 (file)
 //#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__ */
index 2262b57..d641523 100644 (file)
 //#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__ */