summaryrefslogtreecommitdiff
path: root/packages/arm-kernel-shim
diff options
context:
space:
mode:
authorRolf Leggewie <oe-devel@rolf.leggewie.biz>2007-02-15 06:36:07 +0000
committerRolf Leggewie <oe-devel@rolf.leggewie.biz>2007-02-15 06:36:07 +0000
commit154641298d7cb2c336bc6a5a38e51d9f7e14abc2 (patch)
tree98bc3958b1f6473ff24001701b608f0a86c556a8 /packages/arm-kernel-shim
parentd761c689e1a013a698f5b032cb95d516c7ba22da (diff)
parent1c4bf67a97a157e0d7cf5756f29f78bac1139a57 (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.bb35
-rw-r--r--packages/arm-kernel-shim/files/config-dsmg600.h14
-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
-rw-r--r--packages/arm-kernel-shim/files/passthrough-atags.patch20
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);
+ }