summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorDavid Engraf <david.engraf@sysgo.com>2018-03-08 12:50:36 +0100
committerDavid Gibson <david@gibson.dropbear.id.au>2018-03-18 18:27:23 +1100
commitb4a5f24a172a1c35ef369a56e585e851bdb68c90 (patch)
treee1e6244e6fd5e588edb4fd1e94b6dbaf7bc886bb
parent1ca15d85ab0d2a53f86a16b75468633938467cd8 (diff)
downloadfocaccia-qemu-b4a5f24a172a1c35ef369a56e585e851bdb68c90.tar.gz
focaccia-qemu-b4a5f24a172a1c35ef369a56e585e851bdb68c90.zip
PPC e500: Fix gap between u-boot and kernel
This patch moves the gap between u-boot and kernel at the correct location.

Signed-off-by: David Engraf <david.engraf@sysgo.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r--hw/ppc/e500.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index 2238f963c4..9a85a41362 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -1009,6 +1009,10 @@ void ppce500_init(MachineState *machine, PPCE500Params *params)
     }
 
     cur_base = loadaddr + payload_size;
+    if (cur_base < (32 * 1024 * 1024)) {
+        /* u-boot occupies memory up to 32MB, so load blobs above */
+        cur_base = (32 * 1024 * 1024);
+    }
 
     /* Load bare kernel only if no bios/u-boot has been provided */
     if (machine->kernel_filename && !kernel_as_payload) {
@@ -1025,11 +1029,6 @@ void ppce500_init(MachineState *machine, PPCE500Params *params)
         cur_base += kernel_size;
     }
 
-    if (cur_base < (32 * 1024 * 1024)) {
-        /* u-boot occupies memory up to 32MB, so load blobs above */
-        cur_base = (32 * 1024 * 1024);
-    }
-
     /* Load initrd. */
     if (machine->initrd_filename) {
         initrd_base = (cur_base + INITRD_LOAD_PAD) & ~INITRD_PAD_MASK;