mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-26 17:11:32 +00:00
fit: Do not throw away extra configuration on fit_image_load()
fit_image_load() threw away the extra configuration parts when loading. We need them around for applying extra overlays for building the boot fdt. Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com> Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
ad026adbcf
commit
7c3dc776b9
1 changed files with 7 additions and 4 deletions
|
@ -1653,6 +1653,7 @@ int fit_image_load(bootm_headers_t *images, ulong addr,
|
||||||
int cfg_noffset, noffset;
|
int cfg_noffset, noffset;
|
||||||
const char *fit_uname;
|
const char *fit_uname;
|
||||||
const char *fit_uname_config;
|
const char *fit_uname_config;
|
||||||
|
const char *fit_base_uname_config;
|
||||||
const void *fit;
|
const void *fit;
|
||||||
const void *buf;
|
const void *buf;
|
||||||
size_t size;
|
size_t size;
|
||||||
|
@ -1668,6 +1669,7 @@ int fit_image_load(bootm_headers_t *images, ulong addr,
|
||||||
fit = map_sysmem(addr, 0);
|
fit = map_sysmem(addr, 0);
|
||||||
fit_uname = fit_unamep ? *fit_unamep : NULL;
|
fit_uname = fit_unamep ? *fit_unamep : NULL;
|
||||||
fit_uname_config = fit_uname_configp ? *fit_uname_configp : NULL;
|
fit_uname_config = fit_uname_configp ? *fit_uname_configp : NULL;
|
||||||
|
fit_base_uname_config = NULL;
|
||||||
prop_name = fit_get_image_type_property(image_type);
|
prop_name = fit_get_image_type_property(image_type);
|
||||||
printf("## Loading %s from FIT Image at %08lx ...\n", prop_name, addr);
|
printf("## Loading %s from FIT Image at %08lx ...\n", prop_name, addr);
|
||||||
|
|
||||||
|
@ -1701,11 +1703,11 @@ int fit_image_load(bootm_headers_t *images, ulong addr,
|
||||||
BOOTSTAGE_SUB_NO_UNIT_NAME);
|
BOOTSTAGE_SUB_NO_UNIT_NAME);
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
}
|
}
|
||||||
fit_uname_config = fdt_get_name(fit, cfg_noffset, NULL);
|
fit_base_uname_config = fdt_get_name(fit, cfg_noffset, NULL);
|
||||||
printf(" Using '%s' configuration\n", fit_uname_config);
|
printf(" Using '%s' configuration\n", fit_base_uname_config);
|
||||||
if (image_type == IH_TYPE_KERNEL) {
|
if (image_type == IH_TYPE_KERNEL) {
|
||||||
/* Remember (and possibly verify) this config */
|
/* Remember (and possibly verify) this config */
|
||||||
images->fit_uname_cfg = fit_uname_config;
|
images->fit_uname_cfg = fit_base_uname_config;
|
||||||
if (IMAGE_ENABLE_VERIFY && images->verify) {
|
if (IMAGE_ENABLE_VERIFY && images->verify) {
|
||||||
puts(" Verifying Hash Integrity ... ");
|
puts(" Verifying Hash Integrity ... ");
|
||||||
if (fit_config_verify(fit, cfg_noffset)) {
|
if (fit_config_verify(fit, cfg_noffset)) {
|
||||||
|
@ -1861,7 +1863,8 @@ int fit_image_load(bootm_headers_t *images, ulong addr,
|
||||||
if (fit_unamep)
|
if (fit_unamep)
|
||||||
*fit_unamep = (char *)fit_uname;
|
*fit_unamep = (char *)fit_uname;
|
||||||
if (fit_uname_configp)
|
if (fit_uname_configp)
|
||||||
*fit_uname_configp = (char *)fit_uname_config;
|
*fit_uname_configp = (char *)(fit_uname_config ? :
|
||||||
|
fit_base_uname_config);
|
||||||
|
|
||||||
return noffset;
|
return noffset;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue