[U-Boot] [PATCH] common/board_f: move board_init_f_mem() from #else CONFIG_X86

Purpose of this change is to make it possible to re-use code currently used on X86 solely for other architectures. For example: * init_sequence_f_r * board_init_f_r
Even though board_init_f_mem() has nothing to do with any particular architecture it won't work (at least in current implementation) for X86.
This is because on X86 "gd" is an alias to function get_fs_gd_ptr(), thus we cannot assign anything to it.
So this change separates selection of board_init_f_mem() from X86 while keeping it disabled for X86 still.
Signed-off-by: Alexey Brodkin abrodkin@synopsys.com Cc: Simon Glass sjg@chromium.org Cc: Tom Rini trini@konsulko.com --- common/board_f.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/common/board_f.c b/common/board_f.c index 55ede07..e537cd1 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -1080,7 +1080,9 @@ void board_init_f_r(void) /* NOTREACHED - board_init_r() does not return */ hang(); } -#else +#endif /* CONFIG_X86 */ + +#ifndef CONFIG_X86 ulong board_init_f_mem(ulong top) { /* Leave space for the stack we are running with now */ @@ -1098,4 +1100,4 @@ ulong board_init_f_mem(ulong top)
return top; } -#endif /* CONFIG_X86 */ +#endif /* !CONFIG_X86 */

Hi Simon, Tom,
On Tue, 2015-03-24 at 11:12 +0300, Alexey Brodkin wrote:
Purpose of this change is to make it possible to re-use code currently used on X86 solely for other architectures. For example:
- init_sequence_f_r
- board_init_f_r
Even though board_init_f_mem() has nothing to do with any particular architecture it won't work (at least in current implementation) for X86.
This is because on X86 "gd" is an alias to function get_fs_gd_ptr(), thus we cannot assign anything to it.
So this change separates selection of board_init_f_mem() from X86 while keeping it disabled for X86 still.
Signed-off-by: Alexey Brodkin abrodkin@synopsys.com Cc: Simon Glass sjg@chromium.org Cc: Tom Rini trini@konsulko.com
If there're no objections on this one could it be applied?
This patch is a pre-requisite for ARC-update series, in particular for this patch - http://patchwork.ozlabs.org/patch/450963/
-Alexey

On 27 March 2015 at 01:07, Alexey Brodkin Alexey.Brodkin@synopsys.com wrote:
Hi Simon, Tom,
On Tue, 2015-03-24 at 11:12 +0300, Alexey Brodkin wrote:
Purpose of this change is to make it possible to re-use code currently used on X86 solely for other architectures. For example:
- init_sequence_f_r
- board_init_f_r
Even though board_init_f_mem() has nothing to do with any particular architecture it won't work (at least in current implementation) for X86.
This is because on X86 "gd" is an alias to function get_fs_gd_ptr(), thus we cannot assign anything to it.
So this change separates selection of board_init_f_mem() from X86 while keeping it disabled for X86 still.
Signed-off-by: Alexey Brodkin abrodkin@synopsys.com Cc: Simon Glass sjg@chromium.org Cc: Tom Rini trini@konsulko.com
If there're no objections on this one could it be applied?
This patch is a pre-requisite for ARC-update series, in particular for this patch - http://patchwork.ozlabs.org/patch/450963/
Acked-by: Simon Glass sjg@chromium.org
Feel free to pick it up via the ARC tree too.
- Simon

On Tue, Mar 24, 2015 at 11:12:47AM +0300, Alexey Brodkin wrote:
Purpose of this change is to make it possible to re-use code currently used on X86 solely for other architectures. For example:
- init_sequence_f_r
- board_init_f_r
Even though board_init_f_mem() has nothing to do with any particular architecture it won't work (at least in current implementation) for X86.
This is because on X86 "gd" is an alias to function get_fs_gd_ptr(), thus we cannot assign anything to it.
So this change separates selection of board_init_f_mem() from X86 while keeping it disabled for X86 still.
Signed-off-by: Alexey Brodkin abrodkin@synopsys.com Cc: Simon Glass sjg@chromium.org Cc: Tom Rini trini@konsulko.com
Applied to u-boot/master, thanks!
participants (3)
-
Alexey Brodkin
-
Simon Glass
-
Tom Rini