Re: [U-Boot] [RFC PATCH 3/5] common/board_r: manual relocation for cmd table
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
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
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
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
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
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