On Thu, Jan 12, 2012 at 03:51:49PM +0000, Premi, Sanjeev wrote: > > -----Original Message----- > > From: Sascha Hauer [mailto:s.hauer@xxxxxxxxxxxxxx] > > Sent: Thursday, January 12, 2012 2:59 PM > > To: Premi, Sanjeev > > Cc: barebox@xxxxxxxxxxxxxxxxxxx; Jean-Christophe PLAGNIOL-VILLARD > > Subject: Re: [RFC 2/2] ARM omap: Add CONFIG_SILENT > > > > [snip] > > > BTW you seem to be very concerned about the codesize in the xloader > > environments, which I can understand. How about giving my > > thumb2 patches > > a try? > > I tried pulling these patches on the latest master, but git am failed. > Manual patching reports previously applied patches. (I was able to find > few patches in the series already in master) > > Some hunks don't apply cleanly. For example: > > diff --git a/arch/arm/lib/armlinux.c b/arch/arm/lib/armlinux.c > index bd9b72a..3fafb4b 100644 > --- a/arch/arm/lib/armlinux.c > +++ b/arch/arm/lib/armlinux.c > @@ -253,6 +253,8 @@ void start_linux(void *adr, int swap, struct image_data *data) > { > void (*kernel)(int zero, int arch, void *params) = adr; > void *params = NULL; > + int architecture = armlinux_get_architecture(); > + > #ifdef CONFIG_OFTREE > params = of_get_fixed_tree(); > if (params) > > I did quick fix-ups at few places to make compiler happy, but got > stuck with this: > > AS arch/arm/mach-omap/omap3_core.o > arch/arm/mach-omap/omap3_core.S: Assembler messages: > arch/arm/mach-omap/omap3_core.S:116: Error: shift must be constant -- `orr r11,r10,r9,lsl r5' > arch/arm/mach-omap/omap3_core.S:117: Error: shift must be constant -- `orr r11,r11,r7,lsl r2' This can be fixed with the following: ARM( orr r11, r10, r9, lsl r5 ) /* factor way and cache number into r11 */ ARM( orr r11, r11, r7, lsl r2 ) /* factor index number into r11 */ THUMB( lsl r6, r9, r5 ) THUMB( orr r11, r10, r6 ) /* factor way and cache number into r11 */ THUMB( lsl r6, r7, r2 ) THUMB( orr r11, r11, r6 ) /* factor index number into r11 */ Just how it is done in arch/arm/cpu/cache-armv7.S. Anyway, this is only the top of the iceberg. All Assembly code must be carefully reviewed in thumb mode and omap3 has quite a lot of it. I managed to start a second stage barebox (compiled with xloader defconfig + THUMB) in which I commented out arch_init_lowlevel() and board_init_lowlevel(). I see if I can sort some of this stuff out on the weekend. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox