summaryrefslogtreecommitdiffstats
path: root/hw/microblaze/boot.c
diff options
context:
space:
mode:
authorMax Filippov2014-10-19 05:42:22 +0200
committerMax Filippov2014-11-02 22:59:10 +0100
commit25bda50a0c7241dcb247483af2b7f961632020cc (patch)
tree513752bed41420a65b2bf8b46b7d6cfe60745f59 /hw/microblaze/boot.c
parenttarget-xtensa: avoid duplicate timer interrupt delivery (diff)
downloadqemu-25bda50a0c7241dcb247483af2b7f961632020cc.tar.gz
qemu-25bda50a0c7241dcb247483af2b7f961632020cc.tar.xz
qemu-25bda50a0c7241dcb247483af2b7f961632020cc.zip
hw/core/loader: implement address translation in uimage loader
Such address translation is needed when load address recorded in uImage is a virtual address. When the actual load address is requested, return untranslated address: user that needs the translated address can always apply translation function to it and those that need it untranslated don't need to do the inverse translation. Add translation function pointer and its parameter to uimage_load prototype. Update all existing users. No user-visible functional changes. Cc: qemu-stable@nongnu.org Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Reviewed-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'hw/microblaze/boot.c')
-rw-r--r--hw/microblaze/boot.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/microblaze/boot.c b/hw/microblaze/boot.c
index 6bf36d046f..a2843cdf99 100644
--- a/hw/microblaze/boot.c
+++ b/hw/microblaze/boot.c
@@ -154,7 +154,8 @@ void microblaze_load_kernel(MicroBlazeCPU *cpu, hwaddr ddr_base,
if (kernel_size < 0) {
hwaddr uentry, loadaddr;
- kernel_size = load_uimage(kernel_filename, &uentry, &loadaddr, 0);
+ kernel_size = load_uimage(kernel_filename, &uentry, &loadaddr, 0,
+ NULL, NULL);
boot_info.bootstrap_pc = uentry;
high = (loadaddr + kernel_size + 3) & ~3;
}