summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-05-28 14:57:29 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-05-31 08:32:37 +0200
commitb5167ee51ca21195aff4707f1a503708febe51c3 (patch)
tree057346bfd44adfd7e401bbdfafb6a83190e8b60d
parent08026afdeb1276163b8e99cb85c1e56779ff5c2f (diff)
downloadbarebox-b5167ee51ca21195aff4707f1a503708febe51c3.tar.gz
bootm: print Kernel commandline in verbose mode
Without devicetree support we print the Kernel commandline in verbose mode. Do the same with devicetree boot aswell. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/lib/bootm.c2
-rw-r--r--common/oftree.c15
-rw-r--r--include/of.h1
3 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 133e04da07..ee27e34d49 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -91,6 +91,8 @@ static int __do_bootm_linux(struct image_data *data, int swap)
of_add_reserve_entry(initrd_start, initrd_end);
data->oftree = of_get_fixed_tree(data->of_root_node);
fdt_add_reserve_map(data->oftree);
+ if (bootm_verbose(data))
+ of_print_cmdline(data->of_root_node);
if (bootm_verbose(data) > 1)
of_print_nodes(data->of_root_node, 0);
}
diff --git a/common/oftree.c b/common/oftree.c
index 19fed6b0bc..475d418849 100644
--- a/common/oftree.c
+++ b/common/oftree.c
@@ -98,6 +98,21 @@ void of_print_property(const void *data, int len)
}
}
+void of_print_cmdline(struct device_node *root)
+{
+ struct device_node *node = of_find_node_by_path(root, "/chosen");
+ const char *cmdline;
+
+ if (!node) {
+ printf("commandline: no /chosen node\n");
+ return;
+ }
+
+ cmdline = of_get_property(node, "bootargs", NULL);
+
+ printf("commandline: %s\n", cmdline);
+}
+
static int of_fixup_bootargs(struct device_node *root)
{
struct device_node *node;
diff --git a/include/of.h b/include/of.h
index 3f64667b64..d7bed7cc59 100644
--- a/include/of.h
+++ b/include/of.h
@@ -138,6 +138,7 @@ int of_get_named_gpio(struct device_node *np,
struct device_node *of_find_node_by_phandle(phandle phandle);
void of_print_property(const void *data, int len);
+void of_print_cmdline(struct device_node *root);
int of_device_is_compatible(const struct device_node *device,
const char *compat);