Re: [U-Boot] [RFC PATCH 3/5] common/board_r: manual relocation for cmd table

2015-01-27 Thread Michal Simek
2015-01-20 0:34 GMT+01:00 Simon Glass s...@chromium.org:

 Hi Andreas,

 On 19 January 2015 at 16:29, Andreas Bießmann
 andreas.de...@googlemail.com wrote:
  This is required for architectures still need manual relocation like
 avr32, mk68
  and others.
 
  Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com
  ---
 
   common/board_r.c |   12 
   1 file changed, 12 insertions(+)
 
  diff --git a/common/board_r.c b/common/board_r.c
  index a301cc2..e712902 100644
  --- a/common/board_r.c
  +++ b/common/board_r.c
  @@ -294,6 +294,15 @@ static int initr_announce(void)
  return 0;
   }
 
  +#ifdef CONFIG_NEEDS_MANUAL_RELOC
  +static int initr_manual_reloc_cmdtable(void)
  +{
  +   fixup_cmdtable(ll_entry_start(cmd_tbl_t, cmd),
  +  ll_entry_count(cmd_tbl_t, cmd));
  +   return 0;
  +}
  +#endif
  +
   #if !defined(CONFIG_SYS_NO_FLASH)
   static int initr_flash(void)
   {
  @@ -718,6 +727,9 @@ init_fnc_t init_sequence_r[] = {
  initr_serial,
  initr_announce,
  INIT_FUNC_WATCHDOG_RESET
  +#ifdef CONFIG_NEEDS_MANUAL_RELOC
  +   initr_manual_reloc_cmdtable,
  +#endif
   #ifdef CONFIG_PPC
  initr_trap,
   #endif
  --

 Reviewed-by: Simon Glass s...@chromium.org


Tested-by: Michal Simek michal.si...@xilinx.com

I need this patch for microblaze generic-board support.

Thanks,
Michal

-- 
Michal Simek, Ing. (M.Eng), OpenPGP - KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [RFC PATCH 3/5] common/board_r: manual relocation for cmd table

2015-01-20 Thread Alexey Brodkin
Hi Simon,

On Mon, 2015-01-19 at 16:34 -0700, Simon Glass wrote:
 Hi Andreas,

 Why do you need manual reloc? Is this a toolchain bug?

From my experience the only way to escape manual relocation is to use
PIE (Position Independent Executable), but this might not be supported
in a toolchain for AVR (or it doesn't actually work good enough - this I
understood from this message
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574716)

-Alexey
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [RFC PATCH 3/5] common/board_r: manual relocation for cmd table

2015-01-19 Thread Simon Glass
Hi Andreas,

On 19 January 2015 at 16:29, Andreas Bießmann
andreas.de...@googlemail.com wrote:
 This is required for architectures still need manual relocation like avr32, 
 mk68
 and others.

 Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com
 ---

  common/board_r.c |   12 
  1 file changed, 12 insertions(+)

 diff --git a/common/board_r.c b/common/board_r.c
 index a301cc2..e712902 100644
 --- a/common/board_r.c
 +++ b/common/board_r.c
 @@ -294,6 +294,15 @@ static int initr_announce(void)
 return 0;
  }

 +#ifdef CONFIG_NEEDS_MANUAL_RELOC
 +static int initr_manual_reloc_cmdtable(void)
 +{
 +   fixup_cmdtable(ll_entry_start(cmd_tbl_t, cmd),
 +  ll_entry_count(cmd_tbl_t, cmd));
 +   return 0;
 +}
 +#endif
 +
  #if !defined(CONFIG_SYS_NO_FLASH)
  static int initr_flash(void)
  {
 @@ -718,6 +727,9 @@ init_fnc_t init_sequence_r[] = {
 initr_serial,
 initr_announce,
 INIT_FUNC_WATCHDOG_RESET
 +#ifdef CONFIG_NEEDS_MANUAL_RELOC
 +   initr_manual_reloc_cmdtable,
 +#endif
  #ifdef CONFIG_PPC
 initr_trap,
  #endif
 --

Reviewed-by: Simon Glass s...@chromium.org

Why do you need manual reloc? Is this a toolchain bug?

Regards,
Simon
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [RFC PATCH 3/5] common/board_r: manual relocation for cmd table

2015-01-19 Thread Andreas Bießmann
This is required for architectures still need manual relocation like avr32, mk68
and others.

Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com
---

 common/board_r.c |   12 
 1 file changed, 12 insertions(+)

diff --git a/common/board_r.c b/common/board_r.c
index a301cc2..e712902 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -294,6 +294,15 @@ static int initr_announce(void)
return 0;
 }
 
+#ifdef CONFIG_NEEDS_MANUAL_RELOC
+static int initr_manual_reloc_cmdtable(void)
+{
+   fixup_cmdtable(ll_entry_start(cmd_tbl_t, cmd),
+  ll_entry_count(cmd_tbl_t, cmd));
+   return 0;
+}
+#endif
+
 #if !defined(CONFIG_SYS_NO_FLASH)
 static int initr_flash(void)
 {
@@ -718,6 +727,9 @@ init_fnc_t init_sequence_r[] = {
initr_serial,
initr_announce,
INIT_FUNC_WATCHDOG_RESET
+#ifdef CONFIG_NEEDS_MANUAL_RELOC
+   initr_manual_reloc_cmdtable,
+#endif
 #ifdef CONFIG_PPC
initr_trap,
 #endif
-- 
1.7.10.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [RFC PATCH 3/5] common/board_r: manual relocation for cmd table

2015-01-19 Thread Simon Glass
Hi Andreas,

On 19 January 2015 at 16:41, Andreas Bießmann
andreas.de...@googlemail.com wrote:
 Hi Simon,

 On 20.01.15 00:34, Simon Glass wrote:
 Hi Andreas,

 On 19 January 2015 at 16:29, Andreas Bießmann
 andreas.de...@googlemail.com wrote:
 This is required for architectures still need manual relocation like avr32, 
 mk68
 and others.

 Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com
 ---

  common/board_r.c |   12 
  1 file changed, 12 insertions(+)

 diff --git a/common/board_r.c b/common/board_r.c
 index a301cc2..e712902 100644
 --- a/common/board_r.c
 +++ b/common/board_r.c
 @@ -294,6 +294,15 @@ static int initr_announce(void)
 return 0;
  }

 +#ifdef CONFIG_NEEDS_MANUAL_RELOC
 +static int initr_manual_reloc_cmdtable(void)
 +{
 +   fixup_cmdtable(ll_entry_start(cmd_tbl_t, cmd),
 +  ll_entry_count(cmd_tbl_t, cmd));
 +   return 0;
 +}
 +#endif
 +
  #if !defined(CONFIG_SYS_NO_FLASH)
  static int initr_flash(void)
  {
 @@ -718,6 +727,9 @@ init_fnc_t init_sequence_r[] = {
 initr_serial,
 initr_announce,
 INIT_FUNC_WATCHDOG_RESET
 +#ifdef CONFIG_NEEDS_MANUAL_RELOC
 +   initr_manual_reloc_cmdtable,
 +#endif
  #ifdef CONFIG_PPC
 initr_trap,
  #endif
 --

 Reviewed-by: Simon Glass s...@chromium.org

 Why do you need manual reloc? Is this a toolchain bug?

 Just not implemented yet for avr32. It is on my list, but avr32 has not
 my highest priority ;)
 As long as there are other arches which need this also I think it is
 some more time to shift ... the generic board deadline end of 2014 was a
 bit stricter, I don't want to kick avr32 out of u-boot now. So let's get
 generic board working for avr32 in the next release ;)

OK - it would be good to tidy this up.

Regards,
Simon
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [RFC PATCH 3/5] common/board_r: manual relocation for cmd table

2015-01-19 Thread Andreas Bießmann
Hi Simon,

On 20.01.15 00:34, Simon Glass wrote:
 Hi Andreas,
 
 On 19 January 2015 at 16:29, Andreas Bießmann
 andreas.de...@googlemail.com wrote:
 This is required for architectures still need manual relocation like avr32, 
 mk68
 and others.

 Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com
 ---

  common/board_r.c |   12 
  1 file changed, 12 insertions(+)

 diff --git a/common/board_r.c b/common/board_r.c
 index a301cc2..e712902 100644
 --- a/common/board_r.c
 +++ b/common/board_r.c
 @@ -294,6 +294,15 @@ static int initr_announce(void)
 return 0;
  }

 +#ifdef CONFIG_NEEDS_MANUAL_RELOC
 +static int initr_manual_reloc_cmdtable(void)
 +{
 +   fixup_cmdtable(ll_entry_start(cmd_tbl_t, cmd),
 +  ll_entry_count(cmd_tbl_t, cmd));
 +   return 0;
 +}
 +#endif
 +
  #if !defined(CONFIG_SYS_NO_FLASH)
  static int initr_flash(void)
  {
 @@ -718,6 +727,9 @@ init_fnc_t init_sequence_r[] = {
 initr_serial,
 initr_announce,
 INIT_FUNC_WATCHDOG_RESET
 +#ifdef CONFIG_NEEDS_MANUAL_RELOC
 +   initr_manual_reloc_cmdtable,
 +#endif
  #ifdef CONFIG_PPC
 initr_trap,
  #endif
 --
 
 Reviewed-by: Simon Glass s...@chromium.org
 
 Why do you need manual reloc? Is this a toolchain bug?

Just not implemented yet for avr32. It is on my list, but avr32 has not
my highest priority ;)
As long as there are other arches which need this also I think it is
some more time to shift ... the generic board deadline end of 2014 was a
bit stricter, I don't want to kick avr32 out of u-boot now. So let's get
generic board working for avr32 in the next release ;)

Best regards

Andreas Bießmann
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot