sim: kernelExtras if no kernel provided

kernelExtras facilitates a way for users to provide additional
blobs to load into memory. As of now, the creation of the extra
images is done independently of the kernel being provided, but
the loading is only done if the kernel is present.

This patch refactors the loading of extra images to be committed
if no kernel is present.

Change-Id: I900542e1034ade8d757d01823cfd4a30f0b36734
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/22850
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
This commit is contained in:
Adrian Herrera
2019-11-14 09:57:13 +00:00
committed by Giacomo Travaglini
parent 55c5b66ae4
commit 0e8ce8b12e

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2011-2014,2017-2018 ARM Limited
* Copyright (c) 2011-2014,2017-2019 ARM Limited
* All rights reserved
*
* The license below extends only to copyright in the software and shall
@@ -354,14 +354,14 @@ System::initState()
}
// Load program sections into memory
kernelImage.write(physProxy);
for (const auto &extra_kernel : kernelExtras)
extra_kernel->buildImage().move(mapper).write(physProxy);
DPRINTF(Loader, "Kernel start = %#x\n", kernelStart);
DPRINTF(Loader, "Kernel end = %#x\n", kernelEnd);
DPRINTF(Loader, "Kernel entry = %#x\n", kernelEntry);
DPRINTF(Loader, "Kernel loaded...\n");
}
for (const auto &extra_kernel : kernelExtras)
extra_kernel->buildImage().move(mapper).write(physProxy);
}
}