* [U-Boot] [PATCH v3] arm: use common instructions applicable to armv7m & other arm archs
@ 2016-02-05 18:43 Vikas Manocha
2016-03-10 17:44 ` Vikas MANOCHA
2017-03-18 0:15 ` [U-Boot] [U-Boot, " Tom Rini
0 siblings, 2 replies; 3+ messages in thread
From: Vikas Manocha @ 2016-02-05 18:43 UTC (permalink / raw)
To: u-boot
This patch cleans the code by using instructions allowed for armv7m as well as
other Arm archs.
Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heiko Schocher <hs@denx.de>
---
Changes in v3: moved the comment to right location.
Changes in v2: reword message commit. Removed info regarding BIC
instruction on SP, was creating confusion.
arch/arm/lib/crt0.S | 25 +++++++------------------
1 file changed, 7 insertions(+), 18 deletions(-)
diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S
index 2f4c14e..d9078aa 100644
--- a/arch/arm/lib/crt0.S
+++ b/arch/arm/lib/crt0.S
@@ -71,18 +71,12 @@ ENTRY(_main)
*/
#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_STACK)
- ldr sp, =(CONFIG_SPL_STACK)
+ ldr r0, =(CONFIG_SPL_STACK)
#else
- ldr sp, =(CONFIG_SYS_INIT_SP_ADDR)
+ ldr r0, =(CONFIG_SYS_INIT_SP_ADDR)
#endif
-#if defined(CONFIG_CPU_V7M) /* v7M forbids using SP as BIC destination */
- mov r3, sp
- bic r3, r3, #7
- mov sp, r3
-#else
- bic sp, sp, #7 /* 8-byte alignment for ABI compliance */
-#endif
- mov r0, sp
+ bic r0, r0, #7 /* 8-byte alignment for ABI compliance */
+ mov sp, r0
bl board_init_f_alloc_reserve
mov sp, r0
/* set up gd here, outside any C code */
@@ -100,14 +94,9 @@ ENTRY(_main)
* 'here' but relocated.
*/
- ldr sp, [r9, #GD_START_ADDR_SP] /* sp = gd->start_addr_sp */
-#if defined(CONFIG_CPU_V7M) /* v7M forbids using SP as BIC destination */
- mov r3, sp
- bic r3, r3, #7
- mov sp, r3
-#else
- bic sp, sp, #7 /* 8-byte alignment for ABI compliance */
-#endif
+ ldr r0, [r9, #GD_START_ADDR_SP] /* sp = gd->start_addr_sp */
+ bic r0, r0, #7 /* 8-byte alignment for ABI compliance */
+ mov sp, r0
ldr r9, [r9, #GD_BD] /* r9 = gd->bd */
sub r9, r9, #GD_SIZE /* new GD is below bd */
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [U-Boot] [PATCH v3] arm: use common instructions applicable to armv7m & other arm archs
2016-02-05 18:43 [U-Boot] [PATCH v3] arm: use common instructions applicable to armv7m & other arm archs Vikas Manocha
@ 2016-03-10 17:44 ` Vikas MANOCHA
2017-03-18 0:15 ` [U-Boot] [U-Boot, " Tom Rini
1 sibling, 0 replies; 3+ messages in thread
From: Vikas MANOCHA @ 2016-03-10 17:44 UTC (permalink / raw)
To: u-boot
Just a reminder to apply this patch.
Cheers,
Vikas
> -----Original Message-----
> From: Vikas MANOCHA
> Sent: Friday, February 05, 2016 10:43 AM
> To: albert.u.boot at aribaud.net; hs at denx.de
> Cc: Vikas MANOCHA; Simon Glass; Stefan Roese; Przemyslaw Marczak;
> rev13 at wp.pl; open list
> Subject: [PATCH v3] arm: use common instructions applicable to armv7m &
> other arm archs
>
> This patch cleans the code by using instructions allowed for armv7m as well
> as other Arm archs.
>
> Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Heiko Schocher <hs@denx.de>
> ---
> Changes in v3: moved the comment to right location.
> Changes in v2: reword message commit. Removed info regarding BIC
> instruction on SP, was creating confusion.
>
> arch/arm/lib/crt0.S | 25 +++++++------------------
> 1 file changed, 7 insertions(+), 18 deletions(-)
>
> diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S index 2f4c14e..d9078aa
> 100644
> --- a/arch/arm/lib/crt0.S
> +++ b/arch/arm/lib/crt0.S
> @@ -71,18 +71,12 @@ ENTRY(_main)
> */
>
> #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_STACK)
> - ldr sp, =(CONFIG_SPL_STACK)
> + ldr r0, =(CONFIG_SPL_STACK)
> #else
> - ldr sp, =(CONFIG_SYS_INIT_SP_ADDR)
> + ldr r0, =(CONFIG_SYS_INIT_SP_ADDR)
> #endif
> -#if defined(CONFIG_CPU_V7M) /* v7M forbids using SP as BIC
> destination */
> - mov r3, sp
> - bic r3, r3, #7
> - mov sp, r3
> -#else
> - bic sp, sp, #7 /* 8-byte alignment for ABI compliance */
> -#endif
> - mov r0, sp
> + bic r0, r0, #7 /* 8-byte alignment for ABI compliance */
> + mov sp, r0
> bl board_init_f_alloc_reserve
> mov sp, r0
> /* set up gd here, outside any C code */ @@ -100,14 +94,9 @@
> ENTRY(_main)
> * 'here' but relocated.
> */
>
> - ldr sp, [r9, #GD_START_ADDR_SP] /* sp = gd->start_addr_sp */
> -#if defined(CONFIG_CPU_V7M) /* v7M forbids using SP as BIC
> destination */
> - mov r3, sp
> - bic r3, r3, #7
> - mov sp, r3
> -#else
> - bic sp, sp, #7 /* 8-byte alignment for ABI compliance */
> -#endif
> + ldr r0, [r9, #GD_START_ADDR_SP] /* sp = gd->start_addr_sp */
> + bic r0, r0, #7 /* 8-byte alignment for ABI compliance */
> + mov sp, r0
> ldr r9, [r9, #GD_BD] /* r9 = gd->bd */
> sub r9, r9, #GD_SIZE /* new GD is below bd */
>
> --
> 1.9.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [U-Boot] [U-Boot, v3] arm: use common instructions applicable to armv7m & other arm archs
2016-02-05 18:43 [U-Boot] [PATCH v3] arm: use common instructions applicable to armv7m & other arm archs Vikas Manocha
2016-03-10 17:44 ` Vikas MANOCHA
@ 2017-03-18 0:15 ` Tom Rini
1 sibling, 0 replies; 3+ messages in thread
From: Tom Rini @ 2017-03-18 0:15 UTC (permalink / raw)
To: u-boot
On Fri, Feb 05, 2016 at 10:43:01AM -0800, Vikas Manocha wrote:
> This patch cleans the code by using instructions allowed for armv7m as well as
> other Arm archs.
>
> Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Heiko Schocher <hs@denx.de>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170317/464b995c/attachment.sig>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-03-18 0:15 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-05 18:43 [U-Boot] [PATCH v3] arm: use common instructions applicable to armv7m & other arm archs Vikas Manocha
2016-03-10 17:44 ` Vikas MANOCHA
2017-03-18 0:15 ` [U-Boot] [U-Boot, " Tom Rini
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.