Message ID | 1285916771-18033-6-git-send-email-imunsie@au1.ibm.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
On Fri, Oct 1, 2010 at 3:05 AM, Ian Munsie <imunsie@au1.ibm.com> wrote: > From: Ian Munsie <imunsie@au1.ibm.com> > > I haven't tested booting a little endian kernel on any of these targets, > but they all claim to be 44x so my little endian trampoline should work > on all of them, so wire it up on: > > bamboo > katmai > kilauea > rainer > sam440ep > sequoia > warp > yosemite > ebony > > Signed-off-by: Ian Munsie <imunsie@au1.ibm.com> I see no reason to do this at all. If you haven't tested them and there is no demand, there's no reason to wire them up. Some might actively want to disallow LE mode anyway, like the Warp or Sam440EP. josh
Excerpts from Josh Boyer's message of Fri Oct 01 21:27:37 +1000 2010: > > From: Ian Munsie <imunsie@au1.ibm.com> > > > > I haven't tested booting a little endian kernel on any of these targets, > > but they all claim to be 44x so my little endian trampoline should work > > on all of them, so wire it up on: > > > > bamboo > > katmai > > kilauea > > rainer > > sam440ep > > sequoia > > warp > > yosemite > > ebony > > I see no reason to do this at all. If you haven't tested them and > there is no demand, there's no reason to wire them up. Some might > actively want to disallow LE mode anyway, like the Warp or Sam440EP. I wasn't aware that the Warp and Sam440EP disallowed LE mode - I'll definitely unwire them and move the ARCH_SUPPORTS_LITTLE_ENDIAN to just the sub-arch's that support it. As for the other boards, I would like to wire them up if they are able to support LE mode - If anyone has one handy I would love to hear if they are able to begin booting a LE kernel with these patches, or when & how they fail. Cheers, -Ian
On Tue, Oct 5, 2010 at 9:28 PM, Ian Munsie <imunsie@au1.ibm.com> wrote: > Excerpts from Josh Boyer's message of Fri Oct 01 21:27:37 +1000 2010: >> > From: Ian Munsie <imunsie@au1.ibm.com> >> > >> > I haven't tested booting a little endian kernel on any of these targets, >> > but they all claim to be 44x so my little endian trampoline should work >> > on all of them, so wire it up on: >> > >> > bamboo >> > katmai >> > kilauea >> > rainer >> > sam440ep >> > sequoia >> > warp >> > yosemite >> > ebony >> >> I see no reason to do this at all. If you haven't tested them and >> there is no demand, there's no reason to wire them up. Some might >> actively want to disallow LE mode anyway, like the Warp or Sam440EP. > > I wasn't aware that the Warp and Sam440EP disallowed LE mode - I'll > definitely unwire them and move the ARCH_SUPPORTS_LITTLE_ENDIAN to just > the sub-arch's that support it. Well, Warp and Sam440EP are production boards for actual companies. The rest are all just eval boards. I don't know if the board maintainers care either way, I was just using them as examples of cases where someone might. > As for the other boards, I would like to wire them up if they are able > to support LE mode - If anyone has one handy I would love to hear if > they are able to begin booting a LE kernel with these patches, or when & > how they fail. I'd avoid anything with an FPU until that gets tested. So no bamboo, sequoia, canyonlands, etc. I noticed that canyonlands isn't even covered. I'm guessing that's because we don't need to create a wrapper for it because U-Boot does direct loading of vmlinux and the DTB itself. Has anyone done any work with getting U-Boot to work in LE mode or at least load LE vmlinux images? The majority of new boards are going to be using U-Boot and it's ability to load the DTB/FDT, so that would be something that needs addressing. josh
On Tue, 5 Oct 2010 21:55:35 -0400 Josh Boyer <jwboyer@gmail.com> wrote: > Well, Warp and Sam440EP are production boards for actual companies. > The rest are all just eval boards. I don't know if the board > maintainers care either way, I was just using them as examples of > cases where someone might. In the warp case, I basically don't care. I know LE would break some of our telephony drivers since we assume PPC is BE. But on the other hand, realistically, it will never get turned on by customers anyway. We have to provide our own .config anyway, so it really don't hurt us as long as it doesn't break BE support. Cheers, Sean
diff --git a/arch/powerpc/boot/bamboo.c b/arch/powerpc/boot/bamboo.c index b82cacb..547494b 100644 --- a/arch/powerpc/boot/bamboo.c +++ b/arch/powerpc/boot/bamboo.c @@ -41,6 +41,7 @@ void bamboo_init(void *mac0, void *mac1) { platform_ops.fixups = bamboo_fixups; platform_ops.exit = ibm44x_dbcr_reset; + platform_ops.le_kentry = ibm44x_le_kentry; bamboo_mac0 = mac0; bamboo_mac1 = mac1; fdt_init(_dtb_start); diff --git a/arch/powerpc/boot/cuboot-katmai.c b/arch/powerpc/boot/cuboot-katmai.c index 5434d70..c72bdbf 100644 --- a/arch/powerpc/boot/cuboot-katmai.c +++ b/arch/powerpc/boot/cuboot-katmai.c @@ -52,6 +52,7 @@ void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, CUBOOT_INIT(); platform_ops.fixups = katmai_fixups; + platform_ops.le_kentry = ibm44x_le_kentry; fdt_init(_dtb_start); serial_console_init(); } diff --git a/arch/powerpc/boot/cuboot-kilauea.c b/arch/powerpc/boot/cuboot-kilauea.c index 80cdad6..115048a 100644 --- a/arch/powerpc/boot/cuboot-kilauea.c +++ b/arch/powerpc/boot/cuboot-kilauea.c @@ -44,6 +44,7 @@ void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, CUBOOT_INIT(); platform_ops.fixups = kilauea_fixups; platform_ops.exit = ibm40x_dbcr_reset; + platform_ops.le_kentry = ibm44x_le_kentry; fdt_init(_dtb_start); serial_console_init(); } diff --git a/arch/powerpc/boot/cuboot-rainier.c b/arch/powerpc/boot/cuboot-rainier.c index 0a3fdde..7c1ad02 100644 --- a/arch/powerpc/boot/cuboot-rainier.c +++ b/arch/powerpc/boot/cuboot-rainier.c @@ -52,6 +52,7 @@ void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, CUBOOT_INIT(); platform_ops.fixups = rainier_fixups; platform_ops.exit = ibm44x_dbcr_reset; + platform_ops.le_kentry = ibm44x_le_kentry; fdt_init(_dtb_start); serial_console_init(); } diff --git a/arch/powerpc/boot/cuboot-sam440ep.c b/arch/powerpc/boot/cuboot-sam440ep.c index ec10a47..60761fd 100644 --- a/arch/powerpc/boot/cuboot-sam440ep.c +++ b/arch/powerpc/boot/cuboot-sam440ep.c @@ -44,6 +44,7 @@ void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, CUBOOT_INIT(); platform_ops.fixups = sam440ep_fixups; platform_ops.exit = ibm44x_dbcr_reset; + platform_ops.le_kentry = ibm44x_le_kentry; fdt_init(_dtb_start); serial_console_init(); } diff --git a/arch/powerpc/boot/cuboot-sequoia.c b/arch/powerpc/boot/cuboot-sequoia.c index caf8f2e..3e93748 100644 --- a/arch/powerpc/boot/cuboot-sequoia.c +++ b/arch/powerpc/boot/cuboot-sequoia.c @@ -52,6 +52,7 @@ void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, CUBOOT_INIT(); platform_ops.fixups = sequoia_fixups; platform_ops.exit = ibm44x_dbcr_reset; + platform_ops.le_kentry = ibm44x_le_kentry; fdt_init(_dtb_start); serial_console_init(); } diff --git a/arch/powerpc/boot/cuboot-warp.c b/arch/powerpc/boot/cuboot-warp.c index 806df69..8bdc383 100644 --- a/arch/powerpc/boot/cuboot-warp.c +++ b/arch/powerpc/boot/cuboot-warp.c @@ -33,6 +33,7 @@ void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, platform_ops.fixups = warp_fixups; platform_ops.exit = ibm44x_dbcr_reset; + platform_ops.le_kentry = ibm44x_le_kentry; fdt_init(_dtb_start); serial_console_init(); } diff --git a/arch/powerpc/boot/cuboot-yosemite.c b/arch/powerpc/boot/cuboot-yosemite.c index cc6e338..7fe0e05 100644 --- a/arch/powerpc/boot/cuboot-yosemite.c +++ b/arch/powerpc/boot/cuboot-yosemite.c @@ -39,6 +39,7 @@ void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, CUBOOT_INIT(); platform_ops.fixups = yosemite_fixups; platform_ops.exit = ibm44x_dbcr_reset; + platform_ops.le_kentry = ibm44x_le_kentry; fdt_init(_dtb_start); serial_console_init(); } diff --git a/arch/powerpc/boot/ebony.c b/arch/powerpc/boot/ebony.c index 5532ab3..6f302aa 100644 --- a/arch/powerpc/boot/ebony.c +++ b/arch/powerpc/boot/ebony.c @@ -85,6 +85,7 @@ void ebony_init(void *mac0, void *mac1) { platform_ops.fixups = ebony_fixups; platform_ops.exit = ibm44x_dbcr_reset; + platform_ops.le_kentry = ibm44x_le_kentry; ebony_mac0 = mac0; ebony_mac1 = mac1; fdt_init(_dtb_start);