* [PATCH 1/1] ppc reloc.S: use a common trap relocation function
@ 2012-05-10 13:56 Renaud Barbier
2012-05-11 7:07 ` Sascha Hauer
0 siblings, 1 reply; 2+ messages in thread
From: Renaud Barbier @ 2012-05-10 13:56 UTC (permalink / raw)
To: barebox
The trap relocation function trap_reloc can be used across several PPC
platforms and is added to the ppc library. Accordingly, the definition
of trap_reloc is removed from mach-mpc5xxx/start.S
Signed-off-by: Renaud Barbier <renaud.barbier@ge.com>
---
arch/ppc/lib/Makefile | 1 +
arch/ppc/lib/reloc.S | 47 +++++++++++++++++++++++++++++++++++++++++
arch/ppc/mach-mpc5xxx/start.S | 14 ------------
3 files changed, 48 insertions(+), 14 deletions(-)
create mode 100644 arch/ppc/lib/reloc.S
diff --git a/arch/ppc/lib/Makefile b/arch/ppc/lib/Makefile
index 0f5e017..ba2f078 100644
--- a/arch/ppc/lib/Makefile
+++ b/arch/ppc/lib/Makefile
@@ -8,4 +8,5 @@ obj-y += misc.o
obj-$(CONFIG_CMD_BOOTM) += ppclinux.o
obj-$(CONFIG_MODULES) += module.o
obj-y += crtsavres.o
+obj-y += reloc.o
diff --git a/arch/ppc/lib/reloc.S b/arch/ppc/lib/reloc.S
new file mode 100644
index 0000000..92ee189
--- /dev/null
+++ b/arch/ppc/lib/reloc.S
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2009 Wolfgang Denk <wd@denx.de>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <asm/ppc_asm.tmpl>
+
+ .file "reloc.S"
+
+ .text
+ /*
+ * Function: relocate entries for one exception vector
+ */
+ .globl trap_reloc
+ .type trap_reloc, @function
+trap_reloc:
+ lwz r0, 0(r7) /* hdlr ... */
+ add r0, r0, r3 /* ... += dest_addr */
+ stw r0, 0(r7)
+
+ lwz r0, 4(r7) /* int_return ... */
+ add r0, r0, r3 /* ... += dest_addr */
+ stw r0, 4(r7)
+
+ lwz r0, 8(r7) /* transfer_to_handler ...*/
+ add r0, r0, r3 /* ... += dest_addr */
+ stw r0, 8(r7)
+
+ blr
+ .size trap_reloc, .-trap_reloc
diff --git a/arch/ppc/mach-mpc5xxx/start.S b/arch/ppc/mach-mpc5xxx/start.S
index e098a87..04e8fe3 100644
--- a/arch/ppc/mach-mpc5xxx/start.S
+++ b/arch/ppc/mach-mpc5xxx/start.S
@@ -726,20 +726,6 @@ trap_init:
mtlr r4 /* restore link register */
blr
- /*
- * Function: relocate entries for one exception vector
- */
-trap_reloc:
- lwz r0, 0(r7) /* hdlr ... */
- add r0, r0, r3 /* ... += dest_addr */
- stw r0, 0(r7)
-
- lwz r0, 4(r7) /* int_return ... */
- add r0, r0, r3 /* ... += dest_addr */
- stw r0, 4(r7)
-
- blr
-
.globl _text_base
_text_base:
.long TEXT_BASE
--
1.7.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH 1/1] ppc reloc.S: use a common trap relocation function
2012-05-10 13:56 [PATCH 1/1] ppc reloc.S: use a common trap relocation function Renaud Barbier
@ 2012-05-11 7:07 ` Sascha Hauer
0 siblings, 0 replies; 2+ messages in thread
From: Sascha Hauer @ 2012-05-11 7:07 UTC (permalink / raw)
To: Renaud Barbier; +Cc: barebox
On Thu, May 10, 2012 at 02:56:46PM +0100, Renaud Barbier wrote:
> The trap relocation function trap_reloc can be used across several PPC
> platforms and is added to the ppc library. Accordingly, the definition
> of trap_reloc is removed from mach-mpc5xxx/start.S
>
> Signed-off-by: Renaud Barbier <renaud.barbier@ge.com>
Applied, thanks
Sascha
> ---
> arch/ppc/lib/Makefile | 1 +
> arch/ppc/lib/reloc.S | 47 +++++++++++++++++++++++++++++++++++++++++
> arch/ppc/mach-mpc5xxx/start.S | 14 ------------
> 3 files changed, 48 insertions(+), 14 deletions(-)
> create mode 100644 arch/ppc/lib/reloc.S
>
> diff --git a/arch/ppc/lib/Makefile b/arch/ppc/lib/Makefile
> index 0f5e017..ba2f078 100644
> --- a/arch/ppc/lib/Makefile
> +++ b/arch/ppc/lib/Makefile
> @@ -8,4 +8,5 @@ obj-y += misc.o
> obj-$(CONFIG_CMD_BOOTM) += ppclinux.o
> obj-$(CONFIG_MODULES) += module.o
> obj-y += crtsavres.o
> +obj-y += reloc.o
>
> diff --git a/arch/ppc/lib/reloc.S b/arch/ppc/lib/reloc.S
> new file mode 100644
> index 0000000..92ee189
> --- /dev/null
> +++ b/arch/ppc/lib/reloc.S
> @@ -0,0 +1,47 @@
> +/*
> + * Copyright (C) 2009 Wolfgang Denk <wd@denx.de>
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +
> +#include <asm/ppc_asm.tmpl>
> +
> + .file "reloc.S"
> +
> + .text
> + /*
> + * Function: relocate entries for one exception vector
> + */
> + .globl trap_reloc
> + .type trap_reloc, @function
> +trap_reloc:
> + lwz r0, 0(r7) /* hdlr ... */
> + add r0, r0, r3 /* ... += dest_addr */
> + stw r0, 0(r7)
> +
> + lwz r0, 4(r7) /* int_return ... */
> + add r0, r0, r3 /* ... += dest_addr */
> + stw r0, 4(r7)
> +
> + lwz r0, 8(r7) /* transfer_to_handler ...*/
> + add r0, r0, r3 /* ... += dest_addr */
> + stw r0, 8(r7)
> +
> + blr
> + .size trap_reloc, .-trap_reloc
> diff --git a/arch/ppc/mach-mpc5xxx/start.S b/arch/ppc/mach-mpc5xxx/start.S
> index e098a87..04e8fe3 100644
> --- a/arch/ppc/mach-mpc5xxx/start.S
> +++ b/arch/ppc/mach-mpc5xxx/start.S
> @@ -726,20 +726,6 @@ trap_init:
> mtlr r4 /* restore link register */
> blr
>
> - /*
> - * Function: relocate entries for one exception vector
> - */
> -trap_reloc:
> - lwz r0, 0(r7) /* hdlr ... */
> - add r0, r0, r3 /* ... += dest_addr */
> - stw r0, 0(r7)
> -
> - lwz r0, 4(r7) /* int_return ... */
> - add r0, r0, r3 /* ... += dest_addr */
> - stw r0, 4(r7)
> -
> - blr
> -
> .globl _text_base
> _text_base:
> .long TEXT_BASE
> --
> 1.7.1
>
>
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
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@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-05-11 7:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-10 13:56 [PATCH 1/1] ppc reloc.S: use a common trap relocation function Renaud Barbier
2012-05-11 7:07 ` Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox