changeset fd9a83e5178a in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=fd9a83e5178a
description:
        sim: add validation to make sure there is memory where we're loading 
the kernel

diffstat:

 src/sim/system.cc |  7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diffs (17 lines):

diff -r 635a7cdec721 -r fd9a83e5178a src/sim/system.cc
--- a/src/sim/system.cc Fri Sep 07 14:20:52 2012 -0500
+++ b/src/sim/system.cc Fri Sep 07 14:20:53 2012 -0500
@@ -266,6 +266,13 @@
          * Load the kernel code into memory
          */
         if (params()->kernel != "")  {
+            // Validate kernel mapping before loading binary
+            if (!(isMemAddr(kernelStart & loadAddrMask) &&
+                            isMemAddr(kernelEnd & loadAddrMask))) {
+                fatal("Kernel is mapped to invalid location (not memory). "
+                      "kernelStart 0x(%x) - kernelEnd 0x(%x)\n", kernelStart,
+                      kernelEnd);
+            }
             // Load program sections into memory
             kernel->loadSections(physProxy, loadAddrMask);
 
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to