diff options
author | Rolf Leggewie <oe-devel@rolf.leggewie.biz> | 2007-02-15 06:36:07 +0000 |
---|---|---|
committer | Rolf Leggewie <oe-devel@rolf.leggewie.biz> | 2007-02-15 06:36:07 +0000 |
commit | 154641298d7cb2c336bc6a5a38e51d9f7e14abc2 (patch) | |
tree | 98bc3958b1f6473ff24001701b608f0a86c556a8 /packages/arm-kernel-shim | |
parent | d761c689e1a013a698f5b032cb95d516c7ba22da (diff) | |
parent | 1c4bf67a97a157e0d7cf5756f29f78bac1139a57 (diff) |
merge of '0c4f9a61dfdb0b3267c7794453ccf15dbc4e600c'
and 'd99679b234416670dd8c8e3c87704e7479b4a1e2'
Diffstat (limited to 'packages/arm-kernel-shim')
-rw-r--r-- | packages/arm-kernel-shim/arm-kernel-shim_1.3.bb | 35 | ||||
-rw-r--r-- | packages/arm-kernel-shim/files/config-dsmg600.h | 14 | ||||
-rw-r--r-- | packages/arm-kernel-shim/files/config-fsg3.h | 5 | ||||
-rw-r--r-- | packages/arm-kernel-shim/files/config-nas100d.h | 7 | ||||
-rw-r--r-- | packages/arm-kernel-shim/files/config-nslu2.h | 7 | ||||
-rw-r--r-- | packages/arm-kernel-shim/files/passthrough-atags.patch | 20 |
6 files changed, 78 insertions, 10 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..0c9ad35235 100644 --- a/packages/arm-kernel-shim/arm-kernel-shim_1.3.bb +++ b/packages/arm-kernel-shim/arm-kernel-shim_1.3.bb @@ -3,11 +3,12 @@ SECTION = "" PRIORITY = "optional" HOMEPAGE = "http://wiki.buici.com/twiki/bin/view/Main/ApexBootloader" LICENSE = "GPL" -PR = "r1" +PR = "r3" COMPATIBLE_MACHINE = "(ixp4xx|nslu2)" SRC_URI = "ftp://ftp.buici.com/pub/arm/arm-kernel-shim/arm-kernel-shim-${PV}.tar.gz \ + file://passthrough-atags.patch;patch=1 \ file://config-nslu2.h \ file://config-nas100d.h \ file://config-dsmg600.h \ @@ -20,22 +21,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..5f90fb424d 100644 --- a/packages/arm-kernel-shim/files/config-dsmg600.h +++ b/packages/arm-kernel-shim/files/config-dsmg600.h @@ -16,15 +16,23 @@ #define PHYS_PARAMS 0x00000100 /* Address for the parameter list */ -#define RAM_BANK0_START 0x00000000 -#define RAM_BANK0_LENGTH 0x04000000 +//#define RAM_BANK0_START 0x00000000 +//#define RAM_BANK0_LENGTH 0x04000000 //#define RAM_BANK1_START 0xd0000000 //#define RAM_BANK1_LENGTH 0x10000000 //#define COMMANDLINE\ -// "console=ttyAMA0 root=/dev/memblk0 rootfstype=jffs" +// "init=/linuxrc root=/dev/mtdblock2 rootfstype=jffs2 rw noirqdebug console=ttyS0,115200n8" #define MACH_TYPE 964 +/* The DSM-G600 RedBoot sets up the ATAGs correctly */ +#define PASSTHROUGH_ATAGS + +/* 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__ */ diff --git a/packages/arm-kernel-shim/files/passthrough-atags.patch b/packages/arm-kernel-shim/files/passthrough-atags.patch new file mode 100644 index 0000000000..194279df89 --- /dev/null +++ b/packages/arm-kernel-shim/files/passthrough-atags.patch @@ -0,0 +1,20 @@ +--- arm-kernel-shim-1.3/main.c~ 2007-02-11 05:52:32.000000000 +1030 ++++ arm-kernel-shim-1.3/main.c 2007-02-14 16:39:40.000000000 +1030 +@@ -100,6 +100,8 @@ + : "+r" (offset) + :: "lr", "cc"); + ++#if !defined (PASSTHROUGH_ATAGS) ++ + p = (struct tag*) PHYS_PARAMS; + + /* Always start with the CORE tag */ +@@ -151,6 +153,8 @@ + p->hdr.tag = ATAG_NONE; + p->hdr.size = 0; + ++#endif ++ + /* Pass control to the kernel */ + boot (0, MACH_TYPE, PHYS_PARAMS); + } |