mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-06-09 23:36:03 +09:00
image: Correct the OS location code to work on sandbox
A recent change broke the 'bootm' command on sandbox. The root cause is
using a pointer as an address. Conversion from pointer to address needs to
use map_to_sysmem() so that sandbox can do the right thing. The problem was
pre-existing but uncovered by a recent commit.
Fix this. Also move fit_get_end() to the C file to avoid needing to include
mapmem.h (and thus asm/io.h) everywhere.
Fixes: 1fec3c5d
(common/image.c: Make boot_get_ramdisk() perform a check for Android images)
Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
24862c640e
commit
7a80de4641
|
@ -201,7 +201,7 @@ static int bootm_find_os(cmd_tbl_t *cmdtp, int flag, int argc,
|
||||||
images.ep += images.os.load;
|
images.ep += images.os.load;
|
||||||
}
|
}
|
||||||
|
|
||||||
images.os.start = (ulong)os_hdr;
|
images.os.start = map_to_sysmem(os_hdr);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -851,6 +851,11 @@ static int fit_image_hash_get_ignore(const void *fit, int noffset, int *ignore)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ulong fit_get_end(const void *fit)
|
||||||
|
{
|
||||||
|
return map_to_sysmem((void *)(fit + fdt_totalsize(fit)));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* fit_set_timestamp - set node timestamp property
|
* fit_set_timestamp - set node timestamp property
|
||||||
* @fit: pointer to the FIT format image header
|
* @fit: pointer to the FIT format image header
|
||||||
|
|
|
@ -818,10 +818,7 @@ static inline ulong fit_get_size(const void *fit)
|
||||||
* returns:
|
* returns:
|
||||||
* end address of the FIT image (blob) in memory
|
* end address of the FIT image (blob) in memory
|
||||||
*/
|
*/
|
||||||
static inline ulong fit_get_end(const void *fit)
|
ulong fit_get_end(const void *fit);
|
||||||
{
|
|
||||||
return (ulong)fit + fdt_totalsize(fit);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* fit_get_name - get FIT node name
|
* fit_get_name - get FIT node name
|
||||||
|
|
Loading…
Reference in New Issue
Block a user