[U-Boot] [PATCH v2 2/4] mkimage will now report information about loadable
Karl Apsite
Karl.Apsite at dornerworks.com
Fri May 15 23:13:12 CEST 2015
From: Karl Apsite <karl.apsite at dornerworks.com>
Added FIT_LOADABLE_PROP, so the user can identify an optional entry
named "loadables" in their .its configuration. "loadables" is a comma
separated list in the .its
example configuration:
config at 1 {
description = "Xen 4.6.0-one loadable";
kernel = "xen_kernel at 1";
fdt = "fdt at 1";
loadables = "linux_kernel at 1";
};
config at 2 {
description = "Xen 4.6.0-two loadables";
kernel = "xen_kernel at 1";
fdt = "fdt at 1";
loadables = "linux_kernel at 2", "linux_kernel at 1";
};
example output:
...
Configuration 0 (config at 1)
Description: Xen 4.6.0-one loadable
Kernel: xen_kernel at 1
FDT: fdt at 1
Loadables: linux_kernel at 1
Configuration 1 (config at 2)
Description: Xen 4.6.0-two loadables
Kernel: xen_kernel at 1
FDT: fdt at 1
Loadables: linux_kernel at 2
linux_kernel at 1
Signed-off-by: Karl Apsite <Karl.Apsite at dornerworks.com>
---
common/image-fit.c | 17 +++++++++++++++++
doc/uImage.FIT/source_file_format.txt | 4 ++++
include/image.h | 1 +
3 files changed, 22 insertions(+)
diff --git a/common/image-fit.c b/common/image-fit.c
index 4eb4d42..fc9ea1f 100644
--- a/common/image-fit.c
+++ b/common/image-fit.c
@@ -1436,6 +1436,7 @@ void fit_conf_print(const void *fit, int noffset, const char *p)
char *desc;
char *uname;
int ret;
+ int loadables_index;
/* Mandatory properties */
ret = fit_get_desc(fit, noffset, &desc);
@@ -1460,6 +1461,22 @@ void fit_conf_print(const void *fit, int noffset, const char *p)
uname = (char *)fdt_getprop(fit, noffset, FIT_FDT_PROP, NULL);
if (uname)
printf("%s FDT: %s\n", p, uname);
+
+ /* Print out all of the specified loadables */
+ for (loadables_index = 0;
+ !fdt_get_string_index(fit, noffset,
+ FIT_LOADABLE_PROP,
+ loadables_index,
+ (const char **)&uname) > 0;
+ loadables_index++)
+ {
+ if (loadables_index == 0) {
+ printf("%s Loadables: ", p);
+ } else {
+ printf("%s ", p);
+ }
+ printf("%s\n", uname);
+ }
}
static int fit_image_select(const void *fit, int rd_noffset, int verify)
diff --git a/doc/uImage.FIT/source_file_format.txt b/doc/uImage.FIT/source_file_format.txt
index 427ea49..004acd1 100644
--- a/doc/uImage.FIT/source_file_format.txt
+++ b/doc/uImage.FIT/source_file_format.txt
@@ -235,6 +235,7 @@ o config at 1
|- kernel = "kernel sub-node unit name"
|- ramdisk = "ramdisk sub-node unit name"
|- fdt = "fdt sub-node unit-name"
+ |- loadables = "loadables sub-node unit-name"
Mandatory properties:
@@ -249,6 +250,9 @@ o config at 1
"fdt type").
- setup : Unit name of the corresponding setup binary (used for booting
an x86 kernel). This contains the setup.bin file built by the kernel.
+ - loadables : Unit name containing a list of additional binaries to be loaded at
+ their given locations. "loadables" is a comma-separated list of strings.
+ u-boot will load each binary at its given start-address.
The FDT blob is required to properly boot FDT based kernel, so the minimal
configuration for 2.6 FDT kernel is (kernel, fdt) pair.
diff --git a/include/image.h b/include/image.h
index 60b924a..97b96b3 100644
--- a/include/image.h
+++ b/include/image.h
@@ -742,6 +742,7 @@ int bootz_setup(ulong image, ulong *start, ulong *end);
#define FIT_KERNEL_PROP "kernel"
#define FIT_RAMDISK_PROP "ramdisk"
#define FIT_FDT_PROP "fdt"
+#define FIT_LOADABLE_PROP "loadables"
#define FIT_DEFAULT_PROP "default"
#define FIT_SETUP_PROP "setup"
--
2.3.7
More information about the U-Boot
mailing list