[U-Boot-Users] [PATCH] Make it possible to use a builtin OF tree.

Signed-off-by: Joakim Tjernlund Joakim.Tjernlund@transmode.se --- common/cmd_bootm.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index d816349..8405de7 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -507,6 +507,9 @@ fixup_silent_linux () #endif /* CONFIG_SILENT_CONSOLE */
#ifdef CONFIG_PPC +#ifndef DEFAULT_OF_TREE + #define DEFAULT_OF_TREE NULL +#endif static void __attribute__((noinline)) do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], @@ -527,7 +530,7 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag, void (*kernel)(bd_t *, ulong, ulong, ulong, ulong); image_header_t *hdr = &header; #if defined(CONFIG_OF_FLAT_TREE) || defined(CONFIG_OF_LIBFDT) - char *of_flat_tree = NULL; + char *of_flat_tree = DEFAULT_OF_TREE; ulong of_data = 0; #endif

Joakim Tjernlund wrote:
Signed-off-by: Joakim Tjernlund Joakim.Tjernlund@transmode.se
common/cmd_bootm.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index d816349..8405de7 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -507,6 +507,9 @@ fixup_silent_linux () #endif /* CONFIG_SILENT_CONSOLE */
#ifdef CONFIG_PPC +#ifndef DEFAULT_OF_TREE
- #define DEFAULT_OF_TREE NULL
+#endif static void __attribute__((noinline)) do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], @@ -527,7 +530,7 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag, void (*kernel)(bd_t *, ulong, ulong, ulong, ulong); image_header_t *hdr = &header; #if defined(CONFIG_OF_FLAT_TREE) || defined(CONFIG_OF_LIBFDT)
- char *of_flat_tree = NULL;
- char *of_flat_tree = DEFAULT_OF_TREE; ulong of_data = 0;
#endif
The loss was most likely my error/misunderstanding way back at the start of LIBFDT. Your change seems reasonable, I'll add it to my list of patches to look into and add.
Thanks, gvb

Jerry Van Baren wrote:
Joakim Tjernlund wrote:
Signed-off-by: Joakim Tjernlund Joakim.Tjernlund@transmode.se
common/cmd_bootm.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index d816349..8405de7 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -507,6 +507,9 @@ fixup_silent_linux () #endif /* CONFIG_SILENT_CONSOLE */
#ifdef CONFIG_PPC +#ifndef DEFAULT_OF_TREE
- #define DEFAULT_OF_TREE NULL
+#endif static void __attribute__((noinline)) do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], @@ -527,7 +530,7 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag, void (*kernel)(bd_t *, ulong, ulong, ulong, ulong); image_header_t *hdr = &header; #if defined(CONFIG_OF_FLAT_TREE) || defined(CONFIG_OF_LIBFDT)
- char *of_flat_tree = NULL;
- char *of_flat_tree = DEFAULT_OF_TREE; ulong of_data = 0;
#endif
The loss was most likely my error/misunderstanding way back at the start of LIBFDT. Your change seems reasonable, I'll add it to my list of patches to look into and add.
Thanks, gvb
Hi Joakim,
I looked for the definition of DEFAULT_OF_TREE and it doesn't exist in the current u-boot. I used the gitweb "pickaxe" to look for DEFAULT_OF_TREE and didn't find it that way either. Can you identify when we lost the definition?
The problem with your patch is that, if DEFAULT_OF_TREE isn't defined by somebody, the builds will break. Since it is undefined at the moment, that means *all* of the OF_FLAT_TREE and OF_LIBFDT builds would break. :-(
Thanks, gvb

On Mon, 2007-11-26 at 21:32 -0500, gvb.uboot wrote:
Jerry Van Baren wrote:
Joakim Tjernlund wrote:
Signed-off-by: Joakim Tjernlund Joakim.Tjernlund@transmode.se
common/cmd_bootm.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index d816349..8405de7 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -507,6 +507,9 @@ fixup_silent_linux () #endif /* CONFIG_SILENT_CONSOLE */
#ifdef CONFIG_PPC +#ifndef DEFAULT_OF_TREE
- #define DEFAULT_OF_TREE NULL
+#endif static void __attribute__((noinline)) do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], @@ -527,7 +530,7 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag, void (*kernel)(bd_t *, ulong, ulong, ulong, ulong); image_header_t *hdr = &header; #if defined(CONFIG_OF_FLAT_TREE) || defined(CONFIG_OF_LIBFDT)
- char *of_flat_tree = NULL;
- char *of_flat_tree = DEFAULT_OF_TREE; ulong of_data = 0;
#endif
The loss was most likely my error/misunderstanding way back at the start of LIBFDT. Your change seems reasonable, I'll add it to my list of patches to look into and add.
Thanks, gvb
Hi Joakim,
I looked for the definition of DEFAULT_OF_TREE and it doesn't exist in the current u-boot. I used the gitweb "pickaxe" to look for DEFAULT_OF_TREE and didn't find it that way either. Can you identify when we lost the definition?
Not really, it was possible in u-boot 1.1.4 and now it is not.
The problem with your patch is that, if DEFAULT_OF_TREE isn't defined by somebody, the builds will break. Since it is undefined at the moment, that means *all* of the OF_FLAT_TREE and OF_LIBFDT builds would break. :-(
ehh, doesn't the #ifndef DEFAULT_OF_TREE #define DEFAULT_OF_TREE NULL #endif take care of that?
Jocke

The loss was most likely my error/misunderstanding way back at the start of LIBFDT. Your change seems reasonable, I'll add it to my list of patches to look into and add.
Thanks, gvb
Hi Joakim,
I looked for the definition of DEFAULT_OF_TREE and it doesn't exist in the current u-boot. I used the gitweb "pickaxe" to look for DEFAULT_OF_TREE and didn't find it that way either. Can you identify when we lost the definition?
Not really, it was possible in u-boot 1.1.4 and now it is not.
This was dropped because Wolfgang was exist embedding device tree's in the u-boot source tree.
- k

On Tue, 2007-11-27 at 01:54 -0600, Kumar Gala wrote:
The loss was most likely my error/misunderstanding way back at the start of LIBFDT. Your change seems reasonable, I'll add it to my list of patches to look into and add.
Thanks, gvb
Hi Joakim,
I looked for the definition of DEFAULT_OF_TREE and it doesn't exist in the current u-boot. I used the gitweb "pickaxe" to look for DEFAULT_OF_TREE and didn't find it that way either. Can you identify when we lost the definition?
Not really, it was possible in u-boot 1.1.4 and now it is not.
This was dropped because Wolfgang was exist embedding device tree's in the u-boot source tree.
hmm, I got a vague memory about that too. As I recall Wolfgang didn't motivate why that did make sense to me. Wolfgang, can you recap.?
Jocke

On 11/25/07, Joakim Tjernlund Joakim.Tjernlund@transmode.se wrote:
Signed-off-by: Joakim Tjernlund Joakim.Tjernlund@transmode.se
common/cmd_bootm.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index d816349..8405de7 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -507,6 +507,9 @@ fixup_silent_linux () #endif /* CONFIG_SILENT_CONSOLE */
#ifdef CONFIG_PPC +#ifndef DEFAULT_OF_TREE
- #define DEFAULT_OF_TREE NULL
+#endif
Where is DEFAULT_OF_TREE intended to be defined? I don't want to get into defining it in any of the include/configs/*.h files since the goal is to move over to a Kconfig system and eliminate the per-board config files entirely.
It might be better to do this with two linker symbols around a .dtb section. If the two symbols are identical, then no dtb was provided. Otherwise, go ahead and use the section as the default dtb.
Cheers, g.

On Mon, 2007-11-26 at 20:06 -0700, Grant Likely wrote:
On 11/25/07, Joakim Tjernlund Joakim.Tjernlund@transmode.se wrote:
Signed-off-by: Joakim Tjernlund Joakim.Tjernlund@transmode.se
common/cmd_bootm.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index d816349..8405de7 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -507,6 +507,9 @@ fixup_silent_linux () #endif /* CONFIG_SILENT_CONSOLE */
#ifdef CONFIG_PPC +#ifndef DEFAULT_OF_TREE
- #define DEFAULT_OF_TREE NULL
+#endif
Where is DEFAULT_OF_TREE intended to be defined? I don't want to get into defining it in any of the include/configs/*.h files since the goal is to move over to a Kconfig system and eliminate the per-board config files entirely.
You define it to whatever you like in your board config file. Can be a char array or a function returning a char ptr, sorry :(
It might be better to do this with two linker symbols around a .dtb section. If the two symbols are identical, then no dtb was provided. Otherwise, go ahead and use the section as the default dtb.
I feel my current way is more flexible as it allows you build/modify the tree in a function.
Jocke
participants (6)
-
Grant Likely
-
gvb.uboot
-
Jerry Van Baren
-
Joakim Tjernlund
-
Joakim Tjernlund
-
Kumar Gala