From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?Beno=C3=AEt_Th=C3=A9baudeau?= Date: Mon, 20 May 2013 17:39:53 +0200 (CEST) Subject: [U-Boot] [PATCH v4 0/4] Factorize ARM relocate_code instances In-Reply-To: <20130520112610.2fe5e09c@lilith> References: <1368705777-8789-1-git-send-email-albert.u.boot@aribaud.net> <1368964095-1003-1-git-send-email-albert.u.boot@aribaud.net> <1785797460.965563.1368979079408.JavaMail.root@advansee.com> <20130520112610.2fe5e09c@lilith> Message-ID: <779015300.983686.1369064393041.JavaMail.root@advansee.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Fabio, Stefano, On Monday, May 20, 2013 11:26:10 AM, Albert ARIBAUD wrote: > Hi Beno?t, > > On Sun, 19 May 2013 17:57:59 +0200 (CEST), Beno?t Th?baudeau > wrote: > > > Hi Albert, > > > > On Sunday, May 19, 2013 1:48:11 PM, Albert ARIBAUD wrote: > > > This series replaces all instances of relocate_code in > > > various start.S files from the ARM architecture with a > > > single instance in arch/arm/lib/relocate.S. > > > > > > This is done in steps, each step keeping the whole of ARM > > > U-Boot buildable and runnable and touching as little code > > > as necessary. > > > > > > 1. Drop mx31pdk SPL call to relocate_code > > > > > > In SPL of mx31pdk, board_init_f calls relocate_code to > > > move SPL from the NAND read buffer to SRAM. This move > > > is not a relocation and is thus better implemented as > > > a simple ad hoc copy loop. > > > > > > 2. Drop tx25 SPL call to relocate_code > > > > > > Same as mx31pdk. > > > > > > 3. Prevent all SPLs from assembling relocate_code > > > > > > Now that no SPL uses relocate_code any more, remove > > > it completely from SPL builds by putting it entirely > > > between #ifndef CONFIG_SPL_BUILD and #endif preprocessor > > > conditional. > > > > > > 4. Actual factorization of relocate_code > > > > > > Remove all instances of relocate_code from start.S and > > > create a new file, arch/arm/lib/relocate.S, to provide > > > the new single instance of relocate_code. > > > > > > The only non-trivial change is that for PXA25X, a call > > > to unlock (actually disable) dcache is moved from before > > > relocating to after relocating. As this cache is either > > > locked-as-RAM or disabled, but never used as actual DDR > > > cache, this move has no performance effect on relocation > > > and no functional impact either. > > > > > > The relocation routine was step-tested on versatileqemu > > > under gdb. Especially, both relocation offset (from > > > _start to addr_moni and local offsets (from relocate_code > > > to several linker script symbols) have been verified. > > > > > > Changes in v4: > > > - added blank line after PXA25X conditional code > > > - fixed typos in relocate_code comments > > > - brought back 'mov pc,lr' instead of 'bx lr' for ARMv4 > > > > [...] > > > > Perfect! > > > > For this v4 series: > > Reviewed-by: Beno?t Th?baudeau > > Thanks Beno?t! > > Now I need some people to regression-test it on their > HW, both ARM and non-ARM just in case. Can you test this series on mx31pdk (directly changed by this series), and some other i.MX EVK (e.g. ARMv7, so mx51evk or mx53*) board please? That should be enough for ARM. Best regards, Beno?t