aboutsummaryrefslogtreecommitdiff
path: root/hw/ppc/e500.c
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 /hw/ppc/e500.c
parent1ca15d85ab0d2a53f86a16b75468633938467cd8 (diff)
downloadqemu-b4a5f24a172a1c35ef369a56e585e851bdb68c90.zip
qemu-b4a5f24a172a1c35ef369a56e585e851bdb68c90.tar.gz
qemu-b4a5f24a172a1c35ef369a56e585e851bdb68c90.tar.bz2
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>
Diffstat (limited to 'hw/ppc/e500.c')
-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 2238f96..9a85a41 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;